Risposte nei forum create
-
AutoreRisposte
-
::
scusate per la tardiva risposta, ma fra lavoro e qualche problema familiare
ho avuto dei giorni piuttosto convulsi.
grazie delle risposte e per il continuo impegno di Oldclaudio
e per la sua attenzione e sensibilità alla richieste degli utenti
di questo forum, a cominciare dal sottoscritto.
Peraltro, con LuaTex si possono impostare regole specifiche
(incompatibili con microtype) del tipo:
`
\usepackage{fontspec}
\protrudechars=2 % or \pdfprotrudechars=2 and
\adjustspacing=2 % \pdfadjustspacing=2 with luatex < v0.85 \newfontfeature{Microtypography}{protrusion=default;expansion=default} \directlua{fonts.protrusions.setups.default.factor=.5} . . . \babelfont[italian]{rm}[Microtypography,Ligatures=TeX,Numbers={Proportional,OldStyle},RawFeature={+calt}]{}`
che vedrò di studiarem
::
Prova a vedere se il warning persiste usando, invece dell’unica stringa di babel, queste due differenti:
`\babelfont[italian]{rm}[Language=Default,Ligatures=TeX,Numbers={Proportional,OldStyle}]{}
\babelfont[english]{rm}[Language=English,Ligatures=TeX,Numbers={Proportional,OldStyle}]{}`
Credo che il warning compaia perché nel file del font non esistono specifiche per la lingua inglese,
lingua che si limita a seguire le generali impostazioni date da [tt]DFLT {Dflt}[/tt]
stringa presente nei metadata dei lookup del font.
Se il font contiene specifiche di localizzazione, ad es per il francese, non dovresti riceve quell’avviso
anche senza la doppia stringa per babel, se invece del’inglese carichi appunto li francese.
Come saprai certo, puoi verificare quali lingue sono supportate specificamente con
`otfinfo -s`
Ad es:
`samiel@darkstar:~/fonts/myopentype/GaramondPremierePro$ otfinfo -s GaramondPremrPro.otf
DFLT Default
cyrl Cyrillic
cyrl.SRB Cyrillic/Serbian
grek Greek
latn Latin
latn.AZE Latin/Azeri
latn.CRT Latin/Crimean Tatar
latn.DEU Latin/German
latn.FRA Latin/French
latn.ITA Latin/Italian
latn.MOL Latin/Moldavian
latn.ROM Latin/Romanian
latn.TRK Latin/Turkish`Infatti se nei metadata per il greco, ad esempio, c’è solo
`grek{dflt}`
si riceve lo stesso avviso (ovviamente relativo al greco), se invece c’è
`grek{ELL ,dflt}`
l’avviso non compare.m
PS
grazie per il file
::
Per chiudere il discorso al di là dei tecnicismi,
quello che ho imparato e forse non tutti sanno è che:alcuni font hanno delle caratteristiche come le opzioni
locl e calt a cui con polyglossia non si può accedere
(e che invece sono rilevate direttamente da LibreOffice).
Per fruirne con LaTeX è necessario usare impostazioni
particolari. Altrimenti, non sfruttando tali caratteristiche,
il font non risulta alla fine nel pdf e nella stampa
esattamente com’era stato concepito e realizzatom
::
da quello che capisco dalle frasi di Bezos che riporti potrebbe (forse) sussistere la possibilità
di risolvere il mio problema anche con polyglossiababel switches automatically the OpenType ‘language system’ (with
polyglossia it must be done by hand).,
ma chissà come…il codice
\newfontfamily{italianfont}{\fontspec{….}[…]}non so cosa risolverebbe, perché il riconoscimento delle caratteristiche localizzate degli opentype
nel mio caso non dipende da un cambio di font rispetto a quello indicato con \setmainfont.rimaniamo inattesa dell’inserimento nel CTAN del nuovo italian.ldf
m
::
Scrisse perentoriamente la Fischer:polyglossia doesn’t apply the open type language setting to the font when switching languages. If you want language dependant open type features you must use babel .
Poi però scrive anche, in modo possibilista:
Well one could something similar with polyglossia perhaps too – but babel has the better interface, and it is better maintained, so I would recommend it anyway
Cosa ci riserverà il futuro io non so…
Non vorrei aprire il flame fra i sostenutori di babel e quelli di polyglossia….m
::
Ho provato il tuo esempio e funziona.
Per le mie “strane” necessità, tuttavia con babel devo impostare diversamente i font
(ovverosia non con [tt]\setmainfont[/tt] bensì con [tt]\babelfont[/tt] )
oppure (col tuo codice) continua a non riconoscere l’impostazione calt e perciò posto il mio codice
opportunamente modificato per XeTeX:`\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\usepackage[english,italian]{babel}
\babelfont{rm}[Ligatures=TeX,Numbers={Proportional,OldStyle}]{MyFontPro}\begin{document}
\textbf{Babel}l'avvedutezza avanti l'articolo away ayo abaco l'accidente acerrimo l'adirato aedo
un'affranta afisico afoso l'agone ahhhh l'aiuto ajta alternativa ambedue ancora
annichilire l'aorta l'appurare acqua Aristarco artistica L'albero l'alternativa
l'enfasi l'eccezionalità l'altra l'ircocervo l'Illiria l'omeopatia l'astrattismo atroce
un'automobile avere avicola awak ayno l'azalea l'uguaglianza un'umanità l'abecedario
accolito un'acqua l'addomesticare l'aereoplano affidare l'agone l'aiuto l'assurdo l'abaco
un elemento un'eccezionalità un'inedia un'aorta un'occasione l'Occitania l'allampanato
ampolla annoso l'inutilità l'artatamente l'astrologia l'attenzione autore avanti avventure
away ayo azzardo L'Australia L'Europa l'uguaglianza l'umanitàI'I N'P H'E I'F U'P
\selectlanguage{english}
I'I N'P H'E I'F U'P\end{document}`
In questo caso calt viene riconosciuto
e si nota nei due casi il diverso bearing di [tt]quoteright.fr[/tt] (per l’italiano) e di [tt]quoteright[/tt] per l’inglese:[attachment=2183]Schermatadel2019-01-0213-18-50.png[/attachment]
Peraltro con LuaTeX c’è un’ulteriore trucchetto, perché è necessario
impostare direttamente il calt con:`\babelfont[italian]{rm}[RawFeature=+calt,Ligatures=TeX]{MyFontPro}`
Fermo restando che non so perché con Polyglossia
non sia possibile accedere, come dicevo sopra, a calt e locl localizzati,
il che risolverebbe tutti i problemiPer esemplificare, se metto nelle caratteristiche del Lookup del font (cioè nei metadata)
`DFLT{dflt} grek{dflt} latn{dflt}`
tutto viene riconosciuto anche da otfinfo -f
Se invece localizzo mettendo solo:
`latn{FRA ,ITA}`
nulla viene riconosciuto nemmeno da otfinfo -fMa indipendentemente dalle mie particolari esigenze,
in tutti questi casi ho riscontrato che ora la sillabazione viene compiuta correttamente.m
Attachments:
You must be logged in to view attached files.::
Il ricorso a babel invece che a polyglossia con XeTeX (non lo avevo mai provato in precedenza)
è dovuto al fatto che polyglossia non applica alcune caratteristiche tipiche degli opentype
relativi alle lingue quando si cambia lingua. Ora, in alcuni font (ad es. il GaramondPremierPro) è presente una sostituzione via locl
(Localized Forms) per cui in italiano e in francese non si ricorre all’apostrofo tradizionale (glifo: [tt]quoteright[/tt]),
ma a un apostrofo con diverso bearing (glifo: [tt]quoteright.fr[/tt]. In un font a cui sto lavorando io ho fatto invece ricorso
a una Contextual Alternate (calt) per francese e italiano legata a un Simple Substitution Lookup.
Compilando con polyglossia la cosa è totalmente ignorata in entrambi i casi proprio per via della localizzazione
(curioso invece che la caratteristica sia rilevata da LibreOffice e stringhe in italiano o in inglese sono trattate adeguatamente)
e si è costretti a ricorrere a babel e \babelfont. Ma in questo caso viene inibita la sillabazione alle parole contenenti un apostrofo.
Solo con babel infatti si può fare uso delle caratteristiche degli opentype relative al linguaggio.
Peccato assai che con polyglossia non si possa fare, visto che queste (calt e locl) sono caratteristiche tipiche degli opentype.m
::
fontforge stampa i glifi, ma se alcuni sono comprensibili
`GLYPHID 35 PSNAME A UNICODE 0041
GLYPHID 36 PSNAME B UNICODE 0042
GLYPHID 37 PSNAME C UNICODE 0043
GLYPHID 38 PSNAME D UNICODE 0044`
per altri la cosa p meno chiara:
`GLYPHID 474 PSNAME uniF740 UNICODE F740
GLYPHID 475 PSNAME uniF741 UNICODE F741
GLYPHID 476 PSNAME uniF742 UNICODE F742
GLYPHID 477 PSNAME uniF743 UNICODE F743`
per cui di fatto devo cercarli appunto da fonforge,
il che non è impossibile ma devo andare su e giù nella griglia…
-
AutoreRisposte