Problema numeri maiuscoli e legature carattere

  • Questo topic ha 12 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 8 anni fa da Ale.
  • Creatore
    Topic
  • #113705
    Ale
      Up
      0
      Down
      ::


      Buongiorno e buon ferragosto a tutti,
      sto impaginando una tesi con Lualatex usando un tipo particolare di Garamond.
      Questo carattere è abbastanza completo, ho la versione normale, corsiva, maiuscola e maiuscoletta.
      Ho però un problema: i numeri “standard” del carattere (e mi va anche bene, e probabilmente è corretto così, visto che il mio utilizzo è “letterario”) sono quelli minuscoli, quindi se metto 1234… mi vengono minuscoli. Nel carattere però sono presenti anche i numeri maiuscoli quando lo apro con FontForge, però in una posizione che non riesco a richiamare usando $1234$, né in altro modo.
      A occhio credo di dover intervenire sul carattere, modificando la “posizione” e gli attributi dei numeri maiuscoli. Presumo di poterlo fare con FontForge.
      Qualcuno mi sa dire come?
      Problema analogo per le legature e per il maiuscoletto che avrei già incluso nel carattere principale, ma ho anche come carattere a sé stante.
      Grazie in anticipo a tutti e buon Ferragosto!
      Gattex

    Visualizzazione 11 filoni di risposte
    • Autore
      Risposte
      • #113706
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Leggi la documentazione del pacchetto fontspec, perché lì il problema è spiegato nel dettaglio.

        • #113707
          samiel
          Partecipante
            Up
            0
            Down
            ::


            prova così:
            `\documentclass{article}
            \usepackage{fontspec}
            \setmainfont[Ligatures=TeX,Scale=1.1]{EB Garamond}
            \usepackage{polyglossia}
            \setmainlanguage[babelshorthands=true]{italian}
            \newrobustcmd\lining[1]{{\addfontfeature{Numbers=Lining}#1}}

            \begin{document}

            numeri minuscoli

            1 2 3 4 5 6 7 8 9 0

            numeri maiuscoli

            \lining{1 2 3 4 5 6 7 8 9 0}

            \end{document}`

          • #113708
            Ale
              Up
              0
              Down
              ::


              Ringrazio entrambi, ma purtroppo non sono riuscito a risolvere.
              Con altri caratteri funziona tutto (le legature, ma del Simoncini Garamond che ho in cui funzionano le legature non esiste il maiuscoletto né i numeri minuscoli).
              Ho impostato Ligatures=Tex. Ma con questo carattere, qualunque cosa metta, non riesco a richiamare i glifi.
              Immagino sia un problema di carattere, ma non so.
              Da fontforge i numeri maiuscoli sono chiamati #number.tnum o .lnum (mentre in .onum c’è un’altra copia dei minuscoli).
              Mentre le legature occupano gli spazi unicode da U+FB00 a U+FB04.
              Il maiuscoletto è .sc (e esiste il corsivo, ma non il nero). Del maiuscoletto ho anche un carattere a parte, ma è solo roman.
              Ho notato che se clicco con il destro sui caratteri delle legature e seleziono la voce informazioni sul carattere>legatures mi risulta vuoto. Non so se devo attivare le sostituzioni con fontforge.

              Grazie in anticipo

            • #113709
              samiel
              Partecipante
                Up
                0
                Down
                ::


                Per quello che ne so, il simoncini garamond che si trova in rete
                manca di tantissimi glifi (insomma non è certo quello di einaudi).
                Io possiedo la versione type1 e quella contenuto in Adobe Font Folio 11 in formato .otf.
                Come sai, non hanno né il maiuscoletto né i numeri minuscoli
                (o maiuscoletti che dir si voglia) e nemmeno il grassetto corsivo.
                Puoi usare in alternativa un font commerciale come quello di Adobe
                oppure il bellissimo EB Garamond, del tutto supportato in LaTeX.
                Manca (ancora) del grassetto, che da tempo pare stia realizzando
                il grafico Octavio Pardo, ma li garamond corsivo o grassetto
                è un abominio storico-tipografico (guarda i vecchi libri pubblicati da Einaudi).
                Usando EB Garamond con xelatex puoi ottenere un fake bold. lì trovi tutto,
                legature, maiuscoletto, numeri minuscoli ecc

              • #113710
                Ale
                  Up
                  0
                  Down
                  ::

                  samiel” post=114156Per quello che ne so, il simoncini garamond che si trova in rete
                  manca di tantissimi glifi (insomma non è certo quello di einaudi).
                  Io possiedo la versione type1 e quella contenuto in Adobe Font Folio 11 in formato .otf.
                  Come sai, non hanno né il maiuscoletto né i numeri minuscoli
                  (o maiuscoletti che dir si voglia) e nemmeno il grassetto corsivo.
                  Puoi usare in alternativa un font commerciale come quello di Adobe
                  oppure il bellissimo EB Garamond, del tutto supportato in LaTeX.
                  Manca (ancora) del grassetto, che da tempo pare stia realizzando
                  il grafico Octavio Pardo, ma li garamond corsivo o grassetto
                  è un abominio storico-tipografico (guarda i vecchi libri pubblicati da Einaudi).
                  Usando EB Garamond con xelatex puoi ottenere un fake bold. lì trovi tutto,
                  legature, maiuscoletto, numeri minuscoli ecc

                  Grazie mille samiel.
                  Purtroppo non posso diffondere la versione che ho di questo font, se no sarebbe tutto più facile. 🙁
                  Per completezza, esiste la versione della ScanGrafic con i numeri minuscoli e il maiuscoletto.
                  I glifi nel font ci sono, li vedo con fontforge, soltanto che non riesco a richiamarli, a metterli nel posto giusto insomma.
                  Quello che non so, per mia profonda ignoranza, è questo: immagino che Latex (e fontspec) quando, per esempio, si mettono i numeri maiuscoli secondo la dizione $numeri$ andrà a ricercare nel font dei glifi che si chiamino/abbiano un codice in un certo modo. Ora, se io riuscissi a chiamare quei glifi, tramite FontForge, con il nome che Latex/fontspec usa per richiamarli il tutto dovrebbe funzionare (credo). Però non so come li chiama, né in quale lingua, per intenderci.
                  Per esempio, i glifi delle legature riesco a vederli con Word: copiati e incollati nel sorgente vengono visualizzati correttamente.
                  Capisco che il problema sarebbe da affrontare più nel forum di fontforge che in quello di latex, perché in definitiva è il font a non essere stato compilato correttamente, ma magari per qualcuno più esperto il problema è banale.

                  EDIT: credo che la questione debba essere risolta con i lookup di FontForge

                • #113711
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    per quel poco che so, e spero di non dire cose scorrette,
                    i ttf (al momento ignoro come funzionano gli otf) presentano i glifi
                    e una tabella (la cosiddetta cmap) che mappa e cioè fa corrispondere
                    i glifi ai caratteri. Un “punto codice” è completamente indipendente
                    da caratteri, codifiche e caratteri. Un punto di codice particolare è universale,
                    ma ci sono molte codifiche per esso (UTF-8, UTF-16, ecc.),
                    che dunque si assocerà a diversi glifi in font diversi.
                    Ad es nellìAdobe TextPro Regular il glifo del numero 1 maiuscoletto
                    ha naturalmente lo stesso riferimento Unicode dello stesso nel Times New Roman
                    (U+0031), ma nel primo è mappato alla posizione 65892 (0x10164).
                    mentre nel secondo alla posizione 66241 (0x102c1)
                    Insomma ho il sospetto che se vuoi rimappare i tuoi glifi.
                    ti attende un lavoro complesso assai…

                  • #113712
                    Ale
                      Up
                      0
                      Down
                      ::

                      samiel” post=114160per quel poco che so, e spero di non dire cose scorrette,
                      i ttf (al momento ignoro come funzionano gli otf) presentano i glifi
                      e una tabella (la cosiddetta cmap) che mappa e cioè fa corrispondere
                      i glifi ai caratteri. Un “punto codice” è completamente indipendente
                      da caratteri, codifiche e caratteri. Un punto di codice particolare è universale,
                      ma ci sono molte codifiche per esso (UTF-8, UTF-16, ecc.),
                      che dunque si assocerà a diversi glifi in font diversi.
                      Ad es nellìAdobe TextPro Regular il glifo del numero 1 maiuscoletto
                      ha naturalmente lo stesso riferimento Unicode dello stesso nel Times New Roman
                      (U+0031), ma nel primo è mappato alla posizione 65892 (0x10164).
                      mentre nel secondo alla posizione 66241 (0x102c1)
                      Insomma ho il sospetto che se vuoi rimappare i tuoi glifi.
                      ti attende un lavoro complesso assai…

                      Ho novità:
                      modificando le sostituzioni e i lookup in FontForge sono riuscito a far funzionare le legature e i numeri lineari (lnum). Però con Microsoft Word.
                      Non riesco a farle funzionare con Lualatex.
                      Questa scrittura è corretta?
                      `
                      \usepackage{fontspec}
                      \setmainfont[Ligatures={Common}, Numbers={Uppercase}]{SimonciniGaramondPro}`

                    • #113713
                      samiel
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        non credo servano le graffe per Common e Uppercase
                        Io però metterei `Numbers={Proportional, Lining}`

                        PS
                        Simoncini Garamond Pro?
                        rubati all’einaudi?

                      • #113714
                        Ale
                          Up
                          0
                          Down
                          ::

                          samiel” post=114162non credo servano le graffe per Common e Uppercase
                          Io però metterei `Numbers={Proportional, Lining}`

                          PS
                          Simoncini Garamond Pro?
                          rubati all’einaudi?

                          Funzionaaaaaaaa 😀 😀 😀 Grazie veramente.
                          Era un insieme di: mancano le sostostituzioni nel font + gattex non sa usare Latex.
                          Grazie ancora.

                          Per chi leggerà in futuro, le sostituzioni in un font otf si impostano seguendo quete guide:
                          https://fontforge.github.io/editexample6.html
                          https://fontforge.github.io/editexample4.html#lookups

                          PS
                          In realtà il nome è di fantasia, ma il Simoncini dell’Einaudi si chiama EinaudiGaramondPro… 🙄

                        • #113715
                          Ale
                            Up
                            0
                            Down
                            ::


                            Nuovo problema: il maiuscoletto.
                            Dovrei aver impostato il lookup con fontforge, ma la seguente scrittura è corretta?
                            `
                            \setmainfont[
                            Ligatures={Common}, Numbers={Proportional, Lining}, %funziona anche con uppercase
                            SmallCapsFont={Garamond},
                            SmallCapsFeatures={Letters=SmallCaps}]
                            {Garamond}`

                            Credo si possa/debba omettere SmallCapsFont={Garamond}.
                            Anche mettendo Letters={SmallCaps} non funziona. In questo caso dovrebbe essere tutto in maiuscoletto, ma non va.
                            Errore in fontspec o nel font?
                            Grazie in anticipo

                            😕

                            EDIT!: Ho scoperto il barbatrucco!!!!: ci deve essere una copia del font vecchio non modificato in Miktex/Lualatex. Se carico il font da percorso funziona tutto!!!
                            Come faccio a pulire la cache dei font? Non riesco in nessun modo.

                          • #113716
                            samiel
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              se ricostruisci la cache con
                              `fc-cache -fsv`
                              dovrebbe ripulire. in ogni caso se sei su linux da root dai
                              `# rm -r /var/cache/fontconfig/*`
                              e ricostruisci la cache col comando sopra
                              similmente se hai caratteri installati localmente
                              (cioè da utente) cancella la cache nella home dell’utente

                              m

                            • #113717
                              Ale
                                Up
                                0
                                Down
                                ::

                                samiel” post=114190se ricostruisci la cache con
                                `fc-cache -fsv`
                                dovrebbe ripulire. in ogni caso se sei su linux da root dai
                                `# rm -r /var/cache/fontconfig/*`
                                e ricostruisci la cache col comando sopra
                                similmente se hai caratteri installati localmente
                                (cioè da utente) cancella la cache nella home dell’utente

                                m

                                Grazie mille di tutto,
                                Ale

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

                            Go to top