Fontspec – Errore: font non trovato

  • Creatore
    Topic
  • #91263
    Up
    0
    Down
    ::


    Buonasera a tutti.

    Nel mio continuo tentativo di redarre un libro con LaTeX dall’aspetto antico (vedasi il mio post precedente), mi sto scontrando con difficoltà, probabilmente banali, di utilizzare il FONTSPEC con XeLaTeX per impostazioni avanzate dei font perché non mi riconosce i caratteri installati su Windows. Mi spiego meglio.

    Lavoro su due postazioni entrambe con Windows 8.1 – 64bit ma una con installato MikTeX 64-bit ed un’altra con TeX Live 2013. Desiderando un controllo accurato dei font (utilizzando ad esempio Swash, Alternate e legature antiche) sto studiando il manuale del pacchetto FONTSPEC. Mi sono subito scontrato con il problema del riconoscimento dei caratteri dal sistema.

    La procedura che ho svolto è la seguente:

    • Ho installanto su Windows un intero pacchetto di font (*.otf o *.ttf) come l’EB Garamond (disponibile gratuitamente dal sito dello sviluppatore), o l’Hoefler Text, ottenendo così il Regular, l’Italic, l’Italic Swash, etc. (procedura normale su Windows: tasto destro del mouse sul file del font ed “Installa”).
    • Ho scritto il codice (copiato ed incollato dal manuale del FONTSPEC!).
    • La compilazione mi dà errore.

    Dove sto sbagliando?

    Il codice che ho impostato su XeLaTex (e anche su LuaLaTeX) è il seguente:

    `
    \documentclass[10pt,a4paper]{book}
    \usepackage{fontspec}
    \setmainfont{EB Garamond Italic}

    \begin{document}

    % I comandi seguenti sono stati copiati dalla guida del pacchetto FONTSPEC, pagina 26

    \fontspec{EB Garamond Italic} very \\
    \fontspec[CharacterVariant=5]{EB Garamond Italic} very \\
    \fontspec[CharacterVariant=5:0]{EB Garamond Italic} very \\
    \fontspec[CharacterVariant=5:1]{EB Garamond Italic} very \\
    \fontspec[CharacterVariant=5:2]{EB Garamond Italic} very \\
    \fontspec[CharacterVariant=5:3]{EB Garamond Italic} very

    \end{document}
    `

    Mi dà l’errore:

    `
    miktex-maketfm: No creation rule for font “EB Garamond Italic”.

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !
    ! fontspec error: “font-not-found”
    !
    ! The font “EB Garamond Italic” cannot be found.
    !
    ! See the fontspec documentation for further information.
    !
    ! For immediate help type H .
    !………………………………………..

    l.3 \setmainfont{EB Garamond Italic}
    `

    Ma se cambiassi il comando del FONTSPEC in questo modo:

    `

    \setmainfont{EB Garamond}

    \lipsum[1]
    `

    Mi funziona perfettamente! Evidentemente erro nel richiamare l’Italic (così come il Black e di conseguenza gli Swash e le Variant), tuttavia non capisco dove.

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #91264
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        L’argomento di setmainfont è il nome della famiglia e la famiglia otf dell’EB Garamaond è appunto EB Garamond; questa famiglia contiene poi l’EB Gramond Regular e l’EB Garamond Italic, ma con glo Opentype scegli l’uno o l’altro con i soilti comandi \rmfamily\upshape o \itshpae rispettivamente; poi puoi speficicare feature diverse per l’uno e l’altro font.

        Infatti togliendo Italic dall’argomento di \setmainfont, il tutto ti funziona regolarmente.

        PS: guarda che il verbo redarre non esiste; esiste invece redigere, il cui participio passato è redatto, ed è questo che ti ha tratto in inganno.

      • #91265
        Up
        0
        Down
        ::


        Ti ringrazio per la risposta e la correzione grammaticale: purtroppo per quante volta possa rileggere un mio testo prima di pubblicarlo, qualche errore sfugge inesorabilmente!

        Ho compreso il suggerimento che mi hai scritto, purtroppo il problema con la Variant rimane!
        Se desiderassi ottenere l’esempio 28 a pagina 26 del manuale del FONTSPEC, cosa dovrei quindi inserire nel preambolo? Sinceramente mi sono arenato al semplice:
        `
        \documentclass[10pt,a4paper]{book}
        \usepackage{fontspec}
        \setmainfont{EB Garamond}
        `

        Presumo che sia simile il problema che non mi permette di ottenere l’esempio 7 riportato a pagina 13 del manuale!

        Mi sento straordinariamente ottuso…

      • #91266
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          No, non ti sei arenato; semplicemente non tutti i font OpenType hanno le stese “features”, il font Hoefler ha le features necessarie per l’esempio 7 della pagina 13; il font Eb Garamond non le ha o l’alternate=1 corrisponde a features diverse.

          Per l’esempio 28 non dovrebbe esserci nessun problema speciale; non ne vedo. Il file .log che cosa dice? (Io non posso replicare perché non ho mai visto né usato l’EB Garamaond). Ci provo; se trovo una soluzione ti modifico questo messaggio; quindi non rispondere finché non vedi che ho combinato qualcosa.

          [EDIT]
          Sembra che il font EB Garamond che viene distribuito con il sstema TeX non disponga per davvero dei set stilistici e delle Varianti di Cacartteri che le informazioni sul carattere lascerebbero pensare e che l’esempio 28 dimostrerebbe: se infatti si esaminano le caratteristiche del font EB Garamaond Italic con il programma otfinfo da terminale si ottiene`$ otfinfo -f ~/Library/Fonts/EBGaramond12-Italic.otf
          c2sc Small Capitals From Capitals
          calt Contextual Alternates
          case Case-Sensitive Forms
          ccmp Glyph Composition/Decomposition
          clig Contextual Ligatures
          cv01 Character Variants 1
          cv02 Character Variants 2
          cv03 Character Variants 3
          cv04 Character Variants 4
          cv05 Character Variants 5
          dlig Discretionary Ligatures
          dnom Denominators
          frac Fractions
          hlig Historical Ligatures
          liga Standard Ligatures
          lnum Lining Figures
          mark Mark Positioning
          numr Numerators
          onum Oldstyle Figures
          ordn Ordinals
          pnum Proportional Figures
          sinf Scientific Inferiors
          size Optical Size
          smcp Small Capitals
          ss01 Stylistic Set 1
          ss02 Stylistic Set 2
          ss03 Stylistic Set 3
          ss20 Stylistic Set 20
          subs Subscript
          sups Superscript
          swsh Swash
          tnum Tabular Figures` Quindi uno si aspetterebbe che se desse le features specificate con CharacterVar e con StylisticSe, dovrebbe ottenere le varianti di carattere e i set stilistici che corrispondono allae caratteristiche che otfinfo estre dal font.
          Ho predisposto allora il file seguente:`% !TEX encoding = UTF-8 Unicode
          % !TEX TS-program = XeLaTeX
          \documentclass[12pt]{article}
          \usepackage{fontspec}

          \setmainfont{EB Garamond}

          \begin{document}
          \noindent\itshape
          very\\
          {\addfontfeatures{CharacterVariant=5} very}\\
          {\addfontfeatures{CharacterVariant=5:0} very}\\
          {\addfontfeatures{CharacterVariant=5:1} very}\\
          {\addfontfeatures{CharacterVariant=5:2} very}\\
          {\addfontfeatures{CharacterVariant=5:3} very}\\
          {\addfontfeatures{StylisticSet=1} very}\\
          {\addfontfeatures{StylisticSet=2} very}\\
          {\addfontfeatures{StylisticSet=3} very}\\
          {\addfontfeatures{StylisticSet=20} very}
          \end{document}
          `dove appunto ho specificato le features con i loro parametri che corrispondono ai valori numerici indicati da otfinfo. Facendo girare il codce con XeLaTeX, non si ottiene affatto quello che ci si aspetta, e la console riporta quanto segue:`…
          *************************************************
          * fontspec warning: “icu-feature-not-exist-in-font”
          *
          * OpenType feature 'CharacterVariant=5' (+cv05) not available for font 'EB
          * Garamond' with script 'Latin' and language 'Default'.
          *************************************************
          *************************************************
          * fontspec warning: “icu-feature-not-exist-in-font”
          *
          * OpenType feature 'CharacterVariant=5:0' (+cv05) not available for font 'EB
          * Garamond' with script 'Latin' and language 'Default'.
          *************************************************
          *************************************************
          * fontspec warning: “icu-feature-not-exist-in-font”
          *
          * OpenType feature 'CharacterVariant=5:1' (+cv05) not available for font 'EB
          * Garamond' with script 'Latin' and language 'Default'.
          *************************************************
          *************************************************
          * fontspec warning: “icu-feature-not-exist-in-font”
          *
          * OpenType feature 'CharacterVariant=5:2' (+cv05) not available for font 'EB
          * Garamond' with script 'Latin' and language 'Default'.
          *************************************************
          *************************************************
          * fontspec warning: “icu-feature-not-exist-in-font”
          *
          * OpenType feature 'CharacterVariant=5:3' (+cv05) not available for font 'EB
          * Garamond' with script 'Latin' and language 'Default'.
          *************************************************
          [1] (./EBGaramond.aux) )
          Output written on EBGaramond.pdf (1 page).
          SyncTeX written on EBGaramond.synctex.gz.
          Transcript written on EBGaramond.log.
          `Il file log è molto più prolisso, ma sostanzialmente dice le stesse cose.

          Io ne concludo che i comandi dati nel file sorgente .tex vengono interpretati correttamente, ma che il font, nonostante quanto dice otfinfo non possiede le caratteristiche che esso stesso indica. Se la mia interpretazione è corretta il redattore di fontspec.pdf ha usato un’altra versione dei font EB Garamond diversa da quella che viene distribuita con il sistema TeX.

          Nota: ho controllato la presenza delle varianti dentro il file OpenType(sul Mac il programam FontBook.app mi ocnsente di farlo) e quelle varianti della lettera v ci sono effettivamente; non ho la più vaga idea, eprò di come le si possa attivare senza poterle far riconoscere a fontspec mediante le features che il font EB Garamond avrebbe, ma che fontspec non riconosce.

          Mi spiace; forse Enrico potrebbe dirci qualcosa.

      Visualizzazione 2 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top