[UTF-8] Simboli e FidoCadJ

DarwinNE
Ciao a tutti,
mi sono reso conto che c'è un problemino durante la conversione delle immagini in formato FidoCadJ qui sul forum. Le lettere greche non vengono rappresentate correttamente:

[fcd="Esempio"][FIDOCAD]
FJC B 0.5
LI 20 50 135 50 0
FCJ 2 0 3 1 0 1
TY 130 51 4 3 0 0 0 Helvetica y
TY 25 60 4 3 0 0 0 Helvetica
LI 65 100 65 5 0
FCJ 2 0 3 1 0 1
TY 60 8 4 3 0 0 0 Helvetica x
TY 70 85 4 3 0 0 0 Helvetica
BE 80 50 80 45 80 50 80 50 0
BE 79 42 81 45 81 48 81 50 2
FCJ 0 0 3 2 0 1
TY 83 43 4 3 0 0 2 Helvetica θ
TY 85 35 4 3 0 0 2 Helvetica
LI 65 50 95 32 2
FCJ 2 0 3 1 0 0
EV 30 15 100 85 11
FCJ 1 0[/fcd]

Così invece è come appare durante l'editing:



Quando il rendering è fatto da FidoCadJ che gira sul server di Matematicamente, manca la lettera \(\displaystyle \theta \) che dovrebbe apparire per indicare l'angolo.
FidoCadJ adotta in ogni situazione la codifica UTF-8 e credo sia lo stesso per il motore del forum, però è probabile che da qualche parte fra il momento in cui il disegno viene incollato in un messaggio ed il momento in cui viene spedito a FidoCadJ sul server, l'informazione sulla codifica viene perduta.

Qualche tempo fa, c'erano stati dei problemi simili anche su ElectroYou, ma poi si era riusciti a correggerli:
http://www.electroyou.it/forum/viewtopi ... 10#p248684

Risposte
DarwinNE
Ho corretto il refuso nel manuale in inglese (perlomeno, nella versione nel repository). Purtroppo, ogni tanto scappano le castronerie :oops:

Se trovi altre stupidaggini, io sono sempre tutt'orecchi. :smt023

Studente Anonimo
Studente Anonimo
"DarwinNE":
Gli spazi sono sostituiti non con "+", ma con "++", c'è un errore nella documentazione? :oops:

Sembrerebbe di sì, a pagina 36 del [_url=https://sourceforge.net/projects/fidocadj/files/manuals/fidocadj_manual_en.pdf/download:z394opum]manuale[/_url:z394opum] si legge:
If the font name contains spaces these must be replaced with the symbol +.


"DarwinNE":

Comunque, è molto utile sapere esattamente i font installati qui sul forum perché così se si ricerca un rendering preciso del testo si sa come procedere!

L'elenco completo è questo:

Bitstream Charter:style=Bold
Bitstream Charter:style=Bold Italic
Bitstream Charter:style=Italic
Bitstream Charter:style=Regular
Century Schoolbook L:style=Bold
Century Schoolbook L:style=Bold Italic
Century Schoolbook L:style=Italic
Century Schoolbook L:style=Roman
DejaVu Sans Mono:style=Bold
DejaVu Sans Mono:style=Bold Oblique
DejaVu Sans Mono:style=Book
DejaVu Sans Mono:style=Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
DejaVu Sans,DejaVu Sans Light:style=ExtraLight
DejaVu Sans:style=Bold
DejaVu Sans:style=Bold Oblique
DejaVu Sans:style=Book
DejaVu Sans:style=Oblique
DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold Italic,Bold Italic
DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold,Bold
DejaVu Serif,DejaVu Serif Condensed:style=Condensed Italic,Italic
DejaVu Serif,DejaVu Serif Condensed:style=Condensed,Book
DejaVu Serif:style=Bold
DejaVu Serif:style=Bold Italic
DejaVu Serif:style=Book
DejaVu Serif:style=Italic
Dingbats:style=Regular
Hershey\-Gothic\-English:style=Regular
Hershey\-Gothic\-German:style=Regular
Hershey\-Gothic\-Italian:style=Regular
Hershey\-Plain\-Duplex:style=Regular
Hershey\-Plain\-Duplex\-Italic:style=Regular
Hershey\-Plain\-Triplex:style=Regular
Hershey\-Plain\-Triplex\-Italic:style=Regular
Hershey\-Script\-Complex:style=Regular
Hershey\-Script\-Simplex:style=Regular
Nimbus Mono L:style=Bold
Nimbus Mono L:style=Bold Oblique
Nimbus Mono L:style=Regular
Nimbus Mono L:style=Regular Oblique
Nimbus Roman No9 L:style=Medium
Nimbus Roman No9 L:style=Medium Italic
Nimbus Roman No9 L:style=Regular
Nimbus Roman No9 L:style=Regular Italic
Nimbus Sans L:style=Bold
Nimbus Sans L:style=Bold Condensed
Nimbus Sans L:style=Bold Condensed Italic
Nimbus Sans L:style=Bold Italic
Nimbus Sans L:style=Regular
Nimbus Sans L:style=Regular Condensed
Nimbus Sans L:style=Regular Condensed Italic
Nimbus Sans L:style=Regular Italic
Standard Symbols L:style=Regular
URW Bookman L:style=Demi Bold
URW Bookman L:style=Demi Bold Italic
URW Bookman L:style=Light
URW Bookman L:style=Light Italic
URW Chancery L:style=Medium Italic
URW Gothic L:style=Book
URW Gothic L:style=Book Oblique
URW Gothic L:style=Demi
URW Gothic L:style=Demi Oblique
URW Palladio L:style=Bold
URW Palladio L:style=Bold Italic
URW Palladio L:style=Italic
URW Palladio L:style=Roman
Utopia:style=Bold
Utopia:style=Bold Italic
Utopia:style=Italic
Utopia:style=Regular

ma se servono possiamo installarne altri.

DarwinNE
Ottimo!

Gli spazi sono sostituiti non con "+", ma con "++", c'è un errore nella documentazione? :oops:

[fcd="Prova simboli"][FIDOCAD]
FJC B 0.5
TY 20 15 4 3 0 0 0 Serif Font SERIF generico
TY 20 25 4 3 0 0 0 Sansserif Font SANSERIF generico
TY 20 35 4 3 0 0 0 Monospaced Font MONOSPACED generico
TY 20 45 4 3 0 0 0 Dialog Font DIALOG generico
TY 20 55 4 3 0 0 0 Dialoginput Font DIALOGINPUT generico
TY 20 65 4 3 0 0 0 BabelSans Font BABELSANS
TY 20 75 4 3 0 0 0 Liberation++Sans Font LIBERATION+SANS
TY 20 85 4 3 0 0 0 Nimbus++Sans Font NIMBUS+SANS
TY 20 95 4 3 0 0 0 Utopia Font UTOPIA
TY 20 105 4 3 0 0 0 Stonehenge Font STONEHENGE[/fcd]

Comunque, è molto utile sapere esattamente i font installati qui sul forum perché così se si ricerca un rendering preciso del testo si sa come procedere!

Studente Anonimo
Studente Anonimo
Hai ragione. Da quello che ho capito Java per selezionare i font si basa su un file [_url=http://docs.oracle.com/javase/8/docs/technotes/guides/intl/fontconfig.html:3fknuge6]fontconfig.properties[/_url:3fknuge6] appropriato. Nel nostro caso i percorsi ai font nel suddetto file non combaciavano con quelli reali, quindi Java ripiegava sulla configurazione della libreria fontconfig. Dopo aver corretto i percorsi è ora possibile usare i 5 font logici sempre disponibili.

Sembra tuttavia che FidoCadJ (Java?) non riesca a usare/selezionare gli altri font installati sul sistema se il nome contiene degli spazi (sostituiti con un simbolo + come specificato nella doc.). Esempio:

[fcd="Prova font"][FIDOCAD]
FJC B 0.5
TY 20 15 4 3 0 0 0 Serif Font SERIF generico
TY 20 25 4 3 0 0 0 Sansserif Font SANSERIF generico
TY 20 35 4 3 0 0 0 Monospaced Font MONOSPACED generico
TY 20 45 4 3 0 0 0 Dialog Font DIALOG generico
TY 20 55 4 3 0 0 0 Dialoginput Font DIALOGINPUT generico
TY 20 65 4 3 0 0 0 BabelSans Font BABELSANS
TY 20 75 4 3 0 0 0 Liberation+Sans Font LIBERATION+SANS
TY 20 85 4 3 0 0 0 Nimbus+Sans Font NIMBUS+SANS
TY 20 95 4 3 0 0 0 Utopia Font UTOPIA
TY 20 105 4 3 0 0 0 Stonehenge Font STONEHENGE[/fcd]

Come si vede i *+SANS sono resi con il sanserif generico... :?

DarwinNE
Spettacolo!!! :smt023

Che occhio che hai avuto con i font... io avrei perso un sacco di tempo con l'UTF-8!

Proviamo:

[fcd="Prova simboli"][FIDOCAD]
FJC B 0.5
TY 20 15 4 3 0 0 0 Helvetica Facciamo una prova di nuovo!
TY 20 25 4 3 0 0 0 Helvetica Segni diacritici: éèçàùò
TY 20 35 4 3 0 0 0 Helvetica Greco minuscolo: διακρίνω
TY 20 45 4 3 0 0 0 Helvetica Greco maiuscolo: ΔΙΑΚΡΙΝΩ
TY 20 55 4 3 0 0 0 Helvetica Frazioni: ¼ × ½ = ⅛
TY 20 65 4 3 0 0 0 Helvetica Relazioni: 3 ≤ x ≤ 25, y ≠ 3
TY 20 75 4 3 0 0 0 Helvetica Integrale: ∫f(x)dx[/fcd]


Edit: però Helvetica viene mappato su un font con serif...

Studente Anonimo
Studente Anonimo
Mi rispondo da solo :)

Sì, mancava il font giusto, con i DejaVu funziona:

[fcd="Esempio con il carattere theta U+03b8"][FIDOCAD]
FJC B 0.5
LI 20 50 135 50 0
FCJ 2 0 3 1 0 1
TY 130 51 4 3 0 0 0 Helvetica Y
TY 25 60 4 3 0 0 0 Helvetica
LI 65 100 65 5 0
FCJ 2 0 3 1 0 1
TY 60 8 4 3 0 0 0 Helvetica X
TY 70 85 4 3 0 0 0 Helvetica
BE 80 50 80 45 80 50 80 50 0
BE 79 42 81 45 81 48 81 50 2
FCJ 0 0 3 2 0 1
TY 83 43 4 3 0 0 2 Helvetica θ
TY 85 35 4 3 0 0 2 Helvetica
LI 65 50 95 32 2
FCJ 2 0 3 1 0 0
EV 30 15 100 85 11
FCJ 1 0[/fcd]

Studente Anonimo
Studente Anonimo
Il comando fc-list dà

Bitstream Charter:style=Bold
Bitstream Charter:style=Bold Italic
Bitstream Charter:style=Italic
Bitstream Charter:style=Regular
Century Schoolbook L:style=Bold
Century Schoolbook L:style=Bold Italic
Century Schoolbook L:style=Italic
Century Schoolbook L:style=Roman
Dingbats:style=Regular
Hershey\-Gothic\-English:style=Regular
Hershey\-Gothic\-German:style=Regular
Hershey\-Gothic\-Italian:style=Regular
Hershey\-Plain\-Duplex:style=Regular
Hershey\-Plain\-Duplex\-Italic:style=Regular
Hershey\-Plain\-Triplex:style=Regular
Hershey\-Plain\-Triplex\-Italic:style=Regular
Hershey\-Script\-Complex:style=Regular
Hershey\-Script\-Simplex:style=Regular
Nimbus Mono L:style=Bold
Nimbus Mono L:style=Bold Oblique
Nimbus Mono L:style=Regular
Nimbus Mono L:style=Regular Oblique
Nimbus Roman No9 L:style=Medium
Nimbus Roman No9 L:style=Medium Italic
Nimbus Roman No9 L:style=Regular
Nimbus Roman No9 L:style=Regular Italic
Nimbus Sans L:style=Bold
Nimbus Sans L:style=Bold Condensed
Nimbus Sans L:style=Bold Condensed Italic
Nimbus Sans L:style=Bold Italic
Nimbus Sans L:style=Regular
Nimbus Sans L:style=Regular Condensed
Nimbus Sans L:style=Regular Condensed Italic
Nimbus Sans L:style=Regular Italic
Standard Symbols L:style=Regular
URW Bookman L:style=Demi Bold
URW Bookman L:style=Demi Bold Italic
URW Bookman L:style=Light
URW Bookman L:style=Light Italic
URW Chancery L:style=Medium Italic
URW Gothic L:style=Book
URW Gothic L:style=Book Oblique
URW Gothic L:style=Demi
URW Gothic L:style=Demi Oblique
URW Palladio L:style=Bold
URW Palladio L:style=Bold Italic
URW Palladio L:style=Italic
URW Palladio L:style=Roman
Utopia:style=Bold
Utopia:style=Bold Italic
Utopia:style=Italic
Utopia:style=Regular

Io proverei a installare i DejaVu, perché dando un'occhiata ai file fontconfig nella root del JRE è l'unico che riconosco e che ho installato anche sul mio sistema. Tu quale consigli?

DarwinNE
In effetti, il font potrebbe essere all'origine del problema.

Faccio una prova con un po' di simboli.

[fcd="Prova simboli UTF-8"][FIDOCAD]
FJC B 0.5
TY 20 15 4 3 0 0 0 Helvetica Facciamo una prova!
TY 20 25 4 3 0 0 0 Helvetica Segni diacritici: éèçàùò
TY 20 35 4 3 0 0 0 Helvetica Greco minuscolo: διακρίνω
TY 20 45 4 3 0 0 0 Helvetica Greco maiuscolo: ΔΙΑΚΡΙΝΩ
TY 20 55 4 3 0 0 0 Helvetica Frazioni: ¼ × ½ = ⅛
TY 20 65 4 3 0 0 0 Helvetica Relazioni: 3 ≤ x ≤ 25, y ≠ 3
TY 20 75 4 3 0 0 0 Helvetica Integrale: ∫f(x)dx[/fcd]

Che font ci sono installati adesso sul server? Sono i Liberation?

Studente Anonimo
Studente Anonimo
Ciao, grazie della segnalazione. Purtroppo non sembra essere un problema di codifica, perché anche eseguendo da terminale, come suggerito su ElectroYou, il comando:

env LANG=it_IT.utf8 java -jar fidocadj.jar -n -c r3 png 6ad059381ff0752fb27154ab6785165e.png 6ad059381ff0752fb27154ab6785165e.fcd

si ottiene lo stesso risultato senza carattere \(\theta\).

Considerato però che altri caratteri come le accentate vengono invece rese correttamente

[fcd="Lettera con accento acuto"][FIDOCAD]
TY 130 51 4 3 0 0 0 Helvetica Perché non funziona con theta?[/fcd]
potrebbe secondo me essere che il/la font usato/a sul nostro server sia "incompleto/a" e non abbia i caratteri greci. Se trovo un attimo di tempo provo a investigare meglio il problema. Si accettano ovviamente consigli/suggerimenti/soluzioni. :)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.