Dotty mostra tutte le etichette come punti (punto) anziché testo


6

Ho il seguente grafico graphviz:

digraph finite_state_machine {
    a -> b [ label = "c" ];
}

L'output di questo grafico dovrebbe essere

correct graph

E questo è davvero ciò che ottengo se provo a usare dot per generare un file (ad es dot -Tsvg test.dot > test.svg ).

Quando provo a usare dotty per visualizzarlo, tuttavia, tutte le etichette appaiono come punti:

incorrect graph

Che cosa causa questo problema e come posso risolverlo? Ho usato molto dotty in passato su grafici simili, sia su Windows che su Linux, e non ho mai visto questo comportamento.

Ubuntu 10.04.3 LTS, Graphviz versione 2.20.2 (dotty versione 96c).


1
I caratteri giusti sono installati?
Sardathrion

@Sard Non lo so, come posso verificare?
Oak

Dai un'occhiata a $ HOME / .xsession-errors e / o /var/log/Xorg.0.log per vedere se ci sono errori lì. Inizia con dotty in una console (così puoi vedere tutti i messaggi inviati a stderr). Guarda quali tipi di carattere hai installato e forza un carattere nel file punto per vedere se fa alcuna differenza.
Sardathrion

1
sembra un font mancante per me.
RobotHumans

Risposte:


4

La mia soluzione è troppo semplice. Ho esaminato /var/log/Xorg.0.log e ha trovato il seguente:

[    52.308] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    52.308]    Entry deleted from font path.
[    52.308] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    52.308]    Entry deleted from font path.
...
[    52.314] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    52.314]    Entry deleted from font path.
[    52.314] (WW) The directory "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" does not exist.
[    52.314]    Entry deleted from font path.

Quindi, ho installato i pacchetti indicati:

xfonts-100dpi
xfonts-cyrillic
...
defoma
psfontmgr
x-ttcidfont-conf

Ho rebotted e i grafici di Dotty sono diventati belli, ma il nome del font predefinito rimane sconosciuto per me.


Secondo questo bug report , installazione xfonts-100dpi dovrebbe essere sufficiente per evitare il problema
anol

2

Ho lo stesso problema e non ho ancora trovato una soluzione, ma ho compilato un elenco di soluzioni alternative (alcune tratte da https://bugs.launchpad.net/ubuntu/+source/graphviz/+bug/1016777 ):

  1. Specificare un nome di carattere (attributo fontname="fixed" ha funzionato per me). Nota che puoi usare gli attributi globali all'inizio del file per evitare di doverlo specificare per ogni etichetta:
  digraph cfg {
    graph [fontname="fixed"];
    node [fontname="fixed"];
    edge [fontname="fixed"];
    ...
  }
  1. Uso dot (invece di dotty) e invia il grafico a un file immagine (ad es. dot -Tpng file.dot -o file.png ), quindi utilizzare un visualizzatore di immagini. Per evitare di creare file temporanei, usa un visualizzatore che supporta la lettura da stdin, ad esempio gwenview (per esempio. dot -Tpng file.dot | gwenview /dev/stdin ).

  2. Uso xdot invece di dotty.

Sebbene queste soluzioni alternative non risolvano il problema reale, se tutto ciò che serve è visualizzare rapidamente alcuni grafici, potrebbero essere più veloci di provare a risolvere il problema (che persiste ancora in Linux Mint 17, basato su Ubuntu 14.04).


0

Come altri hanno già menzionato, la configurazione del tuo font non funziona. Puoi leggere ulteriori informazioni su come configurarlo qui:

http://www.graphviz.org/doc/info/attrs.html#d:fontname


Ho provato a forzare caratteri specifici e ho provato a installare manualmente i font usati da graphviz - nessuno dei due ha aiutato. Penso anche che il fatto dot funziona, solo dotty no, suggerisce che questo non è un problema di carattere
Oak

0

Ho trovato alcuni documenti interni in una società per cui ho lavorato brevemente per quello che diceva che dotty è difettoso su Ubuntu 10.04 e che esorta gli utenti ad aggiornare il loro sistema operativo come un modo per risolverlo. La ragione per cui ciò accade è ancora un mistero per me, e "aggiornare il tuo sistema operativo" è una soluzione piuttosto scadente, ma comunque - dovrebbe risolvere il problema, quindi pubblicarlo qui come risposta.


Visto che il bug è ancora presente in Ubuntu 16.04, questo consiglio non è più preciso né utile, dal momento che non risolve il problema. Potrebbe essere meglio scegliere un'altra risposta come accettata.
anol

1
@anol abbastanza giusto, ma ad essere onesti le altre soluzioni non mi hanno aiutato neanche in quel momento.
Oak

Oh capisco, non avevo prestato molta attenzione a tutte le date. Tuttavia, credo che la risposta di dyomas sia ancora aggiornata e la migliore finora.
anol
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.