Xelatex e le specifiche alternative dei font

  • Questo topic ha 14 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 1 mese fa da Doc.
  • Creatore
    Topic
  • #76410
    OldClaudio
    Partecipante
      Up
      0
      Down
      ::


      Usando \fontspec si può caricare un font opentype specificando una serie “alternativa” di segni; il manuale di fontspec (texdoc fontspec cita diverse possibilità con esempi di moltissimi generi.Ogni font fa gruppo a sé, e i numeri con cui identificare le alternative hanno valori diversi per ciascun font e quindi per sapere che cosa succede, bisogna crearsi un piccolo file dove provare le varie alternative.

      Il mio problema è il seguente: esiste una possibilità di definire una alternativa senza pacioccare il font?

      Mi spiego con un esempio; supponiamo di scrivere in greco con il font Linux Libertine O; se non si specificano alternative la beta viene fuori di forma “normale”, mentre la teta e la fi vengono fuoi come degli ovali con una sbarra orizzontale (la teta) e un sbarra verticale (la fi).
      Se si sceglie Alternate=0, la beta viene quasi come una b latina scritta a mano, e la teta e la fi vengono più calligrafiche, disegnate con un solo tratto senza staccare la penna dal foglio.

      Ora ho provato le alternative da 0 a 11, ma sono tutte uguali, e in nessuna viene la beta “normale accompagnata dalla teta e dalla fi “calligrafiche”.

      La mia domanda allora sarebbe: come definire una alternativa che produca il risultato desiderato descritto sopra?

    Visualizzazione 13 filoni di risposte
    • Autore
      Risposte
      • #76411
        Doc
        Partecipante
          Up
          0
          Down
          ::


          Non ho la competenza per rispondere al 100% alla tua domanda, ma, circa il “Linux Libertine”, che uso e che mi piace (eccezion fatta per la γ minuscola), preferisco caricarlo NON con [tt]fontspec[/tt], ma tramite
          `\usepackage{libertineotf}`
          in questo modo, oltre ad avere un disegno del font (proprio il “disegno”, non l’hinting), almeno sullo schermo, nettamente migliore (non mi chiedere perché, poiché non l’ho mai capito!), riesco ad accedere più facilmente alle sue varie opzioni, ben documentate nella relativa guida.

          Ciao
          Domenico

          P.S.: mi sottoscrivo alla discussione, da cui certamente potrò imparare tantissimo! 😛

        • #76412
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Purtroppo texdoc libertine.pdf (o texdoc libertineotf} producono solo il manuale in tedesco che conosco pochissimo e per leggere qualcosa devo munirmi di vocabolario ed eseguire la traduzione come ai tempi del liceo con le lingue antiche.

            La documentazione in inglese sul sito wiki consiste di un’unica riga 🙁 😯 😡 (ehm, veramente una presa in giro che non mi sarei aspettato da una persona che è capace di produrre la documentazione completa in tedesco, sempre tenuto conto che la lingua ufficiale della distribuzione TeX è l’inglese, anche se sono presenti documenti in lingue orientali, mongolo incluso).

            Vedrò che cosa riesco a capirci e poi eventualmente vederò di comunicare i risultati che sarò riuscito ad ottenere.

            Grazie Domenico

            Claudio

          • #76413
            Doc
            Partecipante
              Up
              0
              Down
              ::


              In effetti, ho cercato con un buon [tt]locate[/tt] se esiste una versione del manuale in inglese, ma nisba!
              Per fortuna, per ovvi motivi, capisco il tedesco e non mi sono mai posto il problema più di tanto, ma è una grossa lacuna.

              Comunque, ecco un esempio di documento con alcune delle opzioni
              `% !TEX encoding = UTF-8
              % !TEX program = xelatex
              % !TEX spellcheck = it_IT

              \documentclass[11pt,a4paper]{book}

              \usepackage[libertine={Ligatures=TeX,RawFeature=+onum}]{libertineotf}

              \begin{document}
              Nel mezzo del cammin di nostra vita

              ἀλλά μοι δοκεῖς θ β φ

              {\addfontfeatures{RawFeature=+aalt}
              ἀλλά μοι δοκεῖς θ β φ}

              ἀλλά μοι δοκεῖς θ β φ

              1234567890

              {\addfontfeatures{RawFeature=+lnum}
              1234567890}

              \end{document}`
              Spero risulti utile almeno per i poco esperti come me.

              È per me un po’ fastidioso dover ricordare tutte le volte le sigle delle varie varianti (mi si conceda il gioco di parole), ma le cose stanno così!
              Aggiungo infatti che il manuale non è proprio proprio completissimo… 🙁

            • #76414
              Up
              0
              Down
              ::


              Se ho capito bene il tuo problema, potresti risolverlo ritoccando il font con il solito FontForge.

              In Elemento / Informazione Font posizionarsi su Lookups.
              Individuare ‘salt’ Alternative stilistiche lookup 21 subtable ed aprirlo (Edit Data).

              Qui troverai le modifiche che vengono effettuate quando si impostano le alternative ai glifi.
              Elimina la prima voce (beta -> uni03D0).

              Potresti altrimenti scegliere un altro carattere sostitutivo ed adattare la tabella a tuo piacimento.

              Esporta il font corretto (in .otf, naturalmente), magari con un altro nome.

              Dovrebbe funzionare…

              Claudio

            • #76415
              Doc
              Partecipante
                Up
                0
                Down
                ::

                nhcvi2″ post=75598Se ho capito bene il tuo problema, potresti risolverlo ritoccando il font con il solito FontForge.

                Non c’è nessun problema! Mi lamentavo solo del fatto che si devono ricordare i codici per attivare le varie tipologie di varianti! 😉

                Per trovare le features dei fonts, ci sono altri softwares, molto più banali di fontforge!

                Ciao
                Domenico

              • #76416
                Up
                0
                Down
                ::


                Mi stavo rivolgendo ad OldClaudio…

              • #76417
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Grazie @nhcvi2; so usare fontforge, ma preferisco non cambiare i font; sto scrivendo una classe e chi la userà non potrà cambiare i propri font come potrei aver fatto io sul mip iMac; quindi devo, se fosse possibile, usare i comandi o del pacchetto libertineotf oppure usando le featuras di fontspec, in modo che chi userà la classe la possa usare praticamante out of the box.

                  Grazie a tutti; Domenico, ho il sospetto che i nomi delle varie varianti si possano usare anche con fontpsec. Comunque ci proverò.

                  Grazie a tutti.

                  Claudio

                • #76418
                  Doc
                  Partecipante
                    Up
                    0
                    Down
                    ::

                    OldClaudio” post=75607Grazie @nhcvi2; so usare fontforge, ma preferisco non cambiare i font; sto scrivendo una classe e chi la userà non potrà cambiare i propri font come potrei aver fatto io sul mip iMac; quindi devo, se fosse possibile, usare i comandi o del pacchetto libertineotf oppure usando le featuras di fontspec, in modo che chi userà la classe la possa usare praticamante out of the box.

                    Grazie a tutti; Domenico, ho il sospetto che i nomi delle varie varianti si possano usare anche con fontpsec. Comunque ci proverò.

                    Grazie a tutti.

                    Claudio

                    È un sospetto più che fondato, come si legge nella documentazione.
                    Tuttavia io preferirei ricorrere ai metodi interni, che consentono anche di risparmiarsi fontspec.
                    Ovviamente, però, tutto dipende da quello che intendi fare.

                    Resto a disposizione per eventuali aiuti con il tedesco, per quel poco che lo capisco!

                  • #76419
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Vedi, Domenico, libertineotf.sty carica lui fontspec alla sua riga 70; quindi il vantaggio di usare questo pacchetto è una interfaccia tra utente e fonspec più userfriendly (strano che si trovi nella cartella texmf-dist/tex/latex/libertineotf/ e non in una cartella (inesistente) texmf-dist/tex/xelatex/libertineotf/, visto che fra le righe 59 e 68 viene controllato il motore di composizione e se non è xelatex o lualatex, segnala un \PackageError…:roll: ).

                      Il bello del pacchetto è che imposta una quantità di features di default, features che all’utente comune come me non verrebbero mai in mente e definisce famiglie di font della collezione liberitne che uno non saprebbe nemmeno che esistono, visto che i rispettivi nomi e caratteristiche sono per lo più inimmaginabili; belle le chiavi di biolinum per mostrare i disegni dei tasti della tastiera e i disegni relativi al mouse; bella la possibiliità di usare lettere speciali per i capolettera o capilettera (qualunque dei due sia corretto).

                      Ma, a parte l’interfaccia userfriendly, non mi pare che permetta di usare varianti diverse da quelle predefinte nel font; in ogni caso sto sperimentando; grazie per avermi indirizzato a libertineotf (come il pacchetto cfr-lm per i font Latin Modern con pdflatex) che permette di usare caratteristiche della collezione di font che non sarebbero altrimenti accessibili.

                      Infatti:`
                      % !TEX TS-program = XeLaTeX
                      % !TEX encoding = UTF-8 Unicode

                      \documentclass[11pt,a4paper]{book}

                      \usepackage[libertine={Ligatures=TeX,RawFeature=+onum}]{libertineotf}

                      \begin{document}
                      Nel mezzo del cammin di nostra vita

                      ἀλλά μοι δοκεῖς θ β φ

                      {\addfontfeatures{RawFeature=+aalt}
                      ἀλλά μοι δοκεῖς θ β φ}

                      ἀλλά μοι δοκεῖς θ β φ

                      1234567890

                      {\addfontfeatures{RawFeature=+lnum}
                      1234567890}

                      \end{document}`
                      a parte la correzione della riga magica del programma che Mac e TeXshop vogliono con le maiuscule al posto giusto, e la riga dell’encoding deve contenere anche la parola Unicode, le lettere greche che si ottengono sono esattamente quello che ottenevo io specificando numericamente le alternative/varianti; la variante 0 (o maggiore di 0, non fa differenza) equivale alla variante aalt. Comunque devo provare con altri testi greci per vedere se per caso non distingua la beta isolata, o iniziale o mediale.

                      Domenico, ti ringrazio ancora moltissimo.

                    • #76420
                      Doc
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Lo sapevo che, sottoscrivendomi, avrei imparato tantissimo! 😛
                        Grazie mille a te!

                      • #76421
                        OldClaudio
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          Evidentemente sto perdendo colpi, perché la soluzione al mio problema è di una semplicità infantile.`% !TEX encoding = UTF-8 Unicode
                          % !TEX TS-program = XeLaTeX

                          \documentclass[11pt,a4paper]{book}

                          \usepackage[libertine={Ligatures=TeX,RawFeature=+onum}]{libertineotf}

                          \newcommand\textogreco{ἀλλά μοι δοκεῖς ϑ β φ βάμβαξ}

                          \begin{document}
                          Nel mezzo del cammin di nostra vita

                          \textogreco

                          {\addfontfeatures{RawFeature=+aalt}
                          \textogreco}

                          \textogreco

                          1234567890

                          {\addfontfeatures{RawFeature=+lnum}
                          1234567890}

                          \end{document}`
                          Infatti basta usare in input il segno alternativo della teta, senza ricorrere a nessun artificio.

                          Il punto, come al solito è il driver della tastiera; sul mio Mac, impostato il driver Greek Polytonic, se si preme il tasto “u” viene la teta che non mi piace, mentre se si premono i tasti “alt+u” viene il segno desiderato.

                          Non è che funzioni con tutti i font; funziona con Libertine, perché dispone di entrambi i glifi; ma non funziona , per esempio, con Artemisia, perché i due glifi sono scambiati, quindi non è necessario premere “alt” per avere il disegno che mi piace, ma è necessario premerlo per quello che non mi piace.
                          Invece con Libertine”f” e “alt+f” producono i due disegni della fi, ma con Artemisa si produce lo stesso identico disegno e non è possibile ottenere ϕ con l’asta verticale.

                          Tuttavia, come vedete la soluzione, almeno con un driver serio dotato di tastiera virtuale come quello del Mac, le cose si risolvono facilmente, senza bisogno di ricorrere agli arcani delle features de font OpenType.

                          Non sono in grado di dire come fare con Windows o Linux, perché comunque li ho virtualizzati sul mio iMac, ma la tastiera è sempre la stessa, anche se lavora con driver diversi.

                        • #76422
                          Doc
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            In effetti, a pensarci bene, su linux….. πϡ βϐ φϕ θϑ σϛ 🙂
                            Qui si preme il tasto [tt]AltGr[/tt]!

                          • #76423
                            OldClaudio
                            Partecipante
                              Up
                              0
                              Down
                              ::

                              Doc” post=75632In effetti, a pensarci bene, su linux….. πϡ βϐ φϕ θϑ σϛ 🙂
                              Qui si preme il tasto [tt]AltGr[/tt]!

                              Infatti c’è sempre l’occasione di imparare qualcosa di nuovo; grazie ancora per le informazioni su Linux.

                              Ti chiederei un favore; il mio indirizzo di posta elettronica lo trovi nei file di documentazione dei diversi file o pacchetti che ho contribuito a CTAN; se mi scrivi un messaggio io acquisisco il tuo e-mail; ti mando lo schemino per disegnare una tastiera; mi ci metteresti dentro in ogni tasto i segni graci, mettendo nella parte a destra di ogni tasto ciò che produce con il tasto AltGr premuto? T spiego di più nel messaggio con cui accompagnerò il codice (ovviamente ambiente picture…:cool: ).

                              Ciao e grazie
                              Claudio

                            • #76424
                              Doc
                              Partecipante
                                Up
                                0
                                Down
                                ::

                                OldClaudio” post=75635

                                In effetti, a pensarci bene, su linux….. πϡ βϐ φϕ θϑ σϛ 🙂
                                Qui si preme il tasto [tt]AltGr[/tt]!

                                Infatti c’è sempre l’occasione di imparare qualcosa di nuovo; grazie ancora per le informazioni su Linux.

                                Ti chiederei un favore; il mio indirizzo di posta elettronica lo trovi nei file di documentazione dei diversi file o pacchetti che ho contribuito a CTAN; se mi scrivi un messaggio io acquisisco il tuo e-mail; ti mando lo schemino per disegnare una tastiera; mi ci metteresti dentro in ogni tasto i segni graci, mettendo nella parte a destra di ogni tasto ciò che produce con il tasto AltGr premuto? T spiego di più nel messaggio con cui accompagnerò il codice (ovviamente ambiente picture…:cool: ).

                                Ciao e grazie
                                Claudio

                                Mail mandata!
                                Ho dovuto provare tre o quattro pacchetti, ma alla fine credo di aver trovato l’indirizzo! 🙂

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

                            Go to top