Problemi con le opzioni OpenType con i font Junicode

  • Creatore
    Topic
  • #72163
    Up
    0
    Down
    ::


    Purtroppo sono a scuola e non ho possibilità di mettere l’esempio che mi dà errore.

    In sostanza mi capita questo: sto usando i font Junicode (molto belli, provateli!) in un documento da comporre con xelatex. Le istruzioni sono le consuete:

    \usepackage{fontspec}
    \setmainfont[Ligatures=TeX,Numbers=OldStyle]{Junicode}

    Quando però voglio ottenere qualcosa di diverso nel testo, per esempio dei numeri in esponente usando \addfontfeature, oppure altre cose documentate nella documentazione e perciò disponibili, ottengo un errore e la compilazione si blocca. Ottengo lo stesso errore anche quando metto l’opzione nel preambolo.

    Mi dareste un codice che a voi non dà errore? Mi basta una parola da trattare in modo speciale con \addfontfeature. Forse sbaglio a usarlo! O sbaglio a mettere le opzioni nel preambolo. Per mettere l’opzione globale, ovviamente, uso otfinfo da terminale, vado sul manuale di fontspec e cerco la funzionalità desiderata. Come spiega Enrico in introxelatex.pdf.

    Ciao
    Tommaso

Visualizzazione 14 filoni di risposte
  • Autore
    Risposte
    • #72164
      Up
      0
      Down
      ::


      Un esempietto piccolo piccolo di quello che non funziona?

      Per esempio, il seguente codice funziona come ci si aspetta:
      `\documentclass[a4paper]{article}
      \usepackage{fontspec}
      \setmainfont[Ligatures=TeX,Numbers=OldStyle]{Junicode}
      \begin{document}
      Abc \textsc{Abc}

      A{\addfontfeatures{VerticalPosition=Superior}123abc}
      \end{document}`

      [attachment=193]juni.pdf[/attachment]
      [attachment=194]juni.png[/attachment]

      Ciao
      Enrico

      Attachments:
      You must be logged in to view attached files.
    • #72165
      Up
      0
      Down
      ::


      Ora va anche a me…

      Forse sbagliavo a scrivere qualcosa… Mah 😀

      Grazie!

      Già che ci sono, avendo impostato i numeri minuscoli di default, come faccio a ottenere quelli maiuscoli in una tabella? Se metto $2$ li ottengo in CM e non in Junicode.

      Ciao
      Tommaso

    • #72166
      Up
      0
      Down
      ::

      illinguista1972″ post=71347Ora va anche a me…

      Forse sbagliavo a scrivere qualcosa… Mah 😀

      Grazie!

      Già che ci sono, avendo impostato i numeri minuscoli di default, come faccio a ottenere quelli maiuscoli in una tabella? Se metto $2$ li ottengo in CM e non in Junicode.

      Metti
      `\addfontfeatures{Numbers=Lining}`
      prima della tabella. Se racchiudi tutto in un gruppo sei a posto:
      `\begin{center}% o table o quel che ti pare
      \addfontfeatures{Numbers=Lining}
      \begin{tabular}{…}

      \end{tabular}
      \end{center}`

      Ciao
      Enrico

    • #72167
      Andrea C.
      Partecipante
        Up
        0
        Down
        ::

        egreg9″ post=71366

        Ora va anche a me…

        Forse sbagliavo a scrivere qualcosa… Mah 😀

        Grazie!

        Già che ci sono, avendo impostato i numeri minuscoli di default, come faccio a ottenere quelli maiuscoli in una tabella? Se metto $2$ li ottengo in CM e non in Junicode.

        Metti
        `\addfontfeatures{Numbers=Lining}`
        prima della tabella. Se racchiudi tutto in un gruppo sei a posto:
        `\begin{center}% o table o quel che ti pare
        \addfontfeatures{Numbers=Lining}
        \begin{tabular}{…}

        \end{tabular}
        \end{center}`

        Ciao
        Enrico

        Invece avendo i numeri minuscoli di default come si fa ad inserire i maiuscoli in un punto specifico del testo (evitando che siano i Computer Modern)?

      • #72168
        Up
        0
        Down
        ::

        Ma Sara” post=71368Invece avendo i numeri minuscoli di default come si fa ad inserire i maiuscoli in un punto specifico del testo (evitando che siano i Computer Modern)?

        Allo stesso modo. 🙂 Meglio però definirsi un comando apposito:
        `\newrobustcmd\lining[1]{{\addfontfeatures{Numbers=Lining}#1}}`
        (se usi polyglossia hai automaticamente etoolbox che fornisce [tt]\newrobustcmd[/tt], altrimenti caricalo).

        Ciao
        Enrico

      • #72169
        Up
        0
        Down
        ::

        egreg9″ post=71369

        Invece avendo i numeri minuscoli di default come si fa ad inserire i maiuscoli in un punto specifico del testo (evitando che siano i Computer Modern)?

        Allo stesso modo. 🙂 Meglio però definirsi un comando apposito:
        `\newrobustcmd\lining[1]{{\addfontfeatures{Numbers=Lining}#1}}`
        (se usi polyglossia hai automaticamente etoolbox che fornisce [tt]\newrobustcmd[/tt], altrimenti caricalo).

        Ciao
        Enrico

        Sarà, ma a me questo non funziona, né con \lining né decommentando la riga in tabular.

        `
        % !TEX encoding = UTF-8 Unicode
        % !TEX TS-program = xelatex

        \documentclass[a4paper,10pt]{article}
        \usepackage{fontspec}
        \setmainfont[Ligatures=TeX,Numbers=OldStyle]{Junicode}
        \usepackage{polyglossia}
        \setmainlanguage{italian}
        \PolyglossiaSetup{italian}{indentfirst=false}
        \setotherlanguage{latin}

        \usepackage{microtype,booktabs}
        \usepackage{caption}
        \captionsetup{font={it,small}}

        %— nuovi comandi e ambienti —%
        \newcommand{\latino}[1]{\foreignlanguage{latin}{{\itshape #1}}}
        \newrobustcmd\lining[1]{{\addfontfeatures{Numbers=Lining}#1}}

        %— inizio del documento —%
        \begin{document}

        \begin{table}
        %\addfontfeatures{Numbers=Lining}
        \caption{La riforma serviana. ‘E’ sta per \latino{equites}, ‘P’ per \latino{pedites} e ‘I’ per \latino{inermes}.}
        \label{tab:riformaserviana}
        \centering
        \begin{tabular}{lcrcc}
        \toprule
        Fanteria & Classe & \multicolumn{1}{c}{Censo} & Composizione & Armatura \\
        & & \multicolumn{1}{c}{(assi)} & (centurie) & \\
        \midrule
        & & & 18\,E & \\
        \midrule
        Pesante & I & \lining{100\,000} & 80\,P & Corazza e scudo \\
        & II & 75\,000 & 20\,P & Meno pesante \\
        & III & 50\,000 & 20\,P & Meno pesante \\
        \midrule
        Leggera & IV & 25\,000 & 20\,P & \latino{Pilum}, arco e fionda \\
        & V & 11\,000 & 30\,P & \latino{Pilum}, arco e fionda \\
        \midrule
        & & & 5\,I & \\
        \bottomrule
        \end{tabular}
        \end{table}

        \end{document}

        `

        Dove sbaglio? Per quello lo chiedevo.

        Ciao
        Tommaso

      • #72170
        Up
        0
        Down
        ::

        egreg9″ post=71341Un esempietto piccolo piccolo di quello che non funziona?

        Per esempio, il seguente codice funziona come ci si aspetta:
        `\documentclass[a4paper]{article}
        \usepackage{fontspec}
        \setmainfont[Ligatures=TeX,Numbers=OldStyle]{Junicode}
        \begin{document}
        Abc \textsc{Abc}

        A{\addfontfeatures{VerticalPosition=Superior}123abc}
        \end{document}`

        [attachment=193]juni.pdf[/attachment]
        [attachment=194]juni.png[/attachment]

        Ciao
        Enrico

        In realtà, il codice

        `A{\addfontfeatures{VerticalPosition=Superior}123abc}`

        mi dà ‘123’ in esponente, mentre ‘abc’ sono scritti sulla linea di base della ‘A’ e nemmeno in corpo piccolo.

        Ciao
        Tommaso

      • #72171
        Andrea C.
        Partecipante
          Up
          0
          Down
          ::

          egreg9″ post=71369

          Invece avendo i numeri minuscoli di default come si fa ad inserire i maiuscoli in un punto specifico del testo (evitando che siano i Computer Modern)?

          Allo stesso modo. 🙂 Meglio però definirsi un comando apposito:
          `\newrobustcmd\lining[1]{{\addfontfeatures{Numbers=Lining}#1}}`
          (se usi polyglossia hai automaticamente etoolbox che fornisce [tt]\newrobustcmd[/tt], altrimenti caricalo).

          Ciao
          Enrico

          Grazie mille!

          Perdona la domanda ingenua: volendo far valere il comando in uno specifico paragrafo o uno specifico capitolo, per non inserirlo tutte le volte prima dei valori numerici, come posso usarlo – ammesso che il valore per tutta la classe sia sempre OldStyle?

        • #72172
          Andrea C.
          Partecipante
            Up
            0
            Down
            ::


            A me il comando funziona benissimo – e finalmente non ho più quei bruttissimi numeri CM!

          • #72173
            Up
            0
            Down
            ::

            Ma Sara” post=71373

            [quote=”Ma Sara” post=71368]Invece avendo i numeri minuscoli di default come si fa ad inserire i maiuscoli in un punto specifico del testo (evitando che siano i Computer Modern)?

            Allo stesso modo. 🙂 Meglio però definirsi un comando apposito:
            `\newrobustcmd\lining[1]{{\addfontfeatures{Numbers=Lining}#1}}`
            (se usi polyglossia hai automaticamente etoolbox che fornisce [tt]\newrobustcmd[/tt], altrimenti caricalo).

            Ciao
            Enrico

            Grazie mille!

            Perdona la domanda ingenua: volendo far valere il comando in uno specifico paragrafo o uno specifico capitolo, per non inserirlo tutte le volte prima dei valori numerici, come posso usarlo – ammesso che il valore per tutta la classe sia sempre OldStyle?[/quote]

            Quello che ho detto per center vale sempre. L’importante è che tu lo dia in un gruppo, oppure che lo annulli con la dichiarazione opposta.

            Ciao
            Enrico

          • #72174
            Up
            0
            Down
            ::

            illinguista1972″ post=71340
            Quando però voglio ottenere qualcosa di diverso nel testo, per esempio dei numeri in esponente usando \addfontfeature, oppure altre cose documentate nella documentazione e perciò disponibili, ottengo un errore e la compilazione si blocca. Ottengo lo stesso errore anche quando metto l’opzione nel preambolo.

            Perché usare \addfontfeatures per i numeri a esponente?
            `% !TEX TS-program = xelatex
            % !TEX encoding = UTF-8 Unicode
            \documentclass[periodical]{suftesi}

            \usepackage{mathspec}
            \usepackage[no-sscript]{xltxtra}
            \defaultfontfeatures{Mapping=tex-text}
            \setprimaryfont[Numbers=OldStyle]{Junicode}

            \begin{document}

            Lorem ipsum\textsuperscript{123456789}
            Dolor sit amet\textsuperscript{abcdefghi}

            \end{document} `

            Ciao
            Ivan

          • #72175
            Up
            0
            Down
            ::

            ivan” post=71381

            Quando però voglio ottenere qualcosa di diverso nel testo, per esempio dei numeri in esponente usando \addfontfeature, oppure altre cose documentate nella documentazione e perciò disponibili, ottengo un errore e la compilazione si blocca. Ottengo lo stesso errore anche quando metto l’opzione nel preambolo.

            Perché usare \addfontfeatures per i numeri a esponente?
            `% !TEX TS-program = xelatex
            % !TEX encoding = UTF-8 Unicode
            \documentclass[periodical]{suftesi}

            \usepackage{mathspec}
            \usepackage[no-sscript]{xltxtra}
            \defaultfontfeatures{Mapping=tex-text}
            \setprimaryfont[Numbers=OldStyle]{Junicode}

            \begin{document}

            Lorem ipsum\textsuperscript{123456789}
            Dolor sit amet\textsuperscript{abcdefghi}

            \end{document} `

            Ciao
            Ivan

            Funziona, ma mi vengono stampati numeri minuscoli. Io vorrei numeri maiuscoli. Ma, prima di tutto, vorrei che i comandi che leggo nella documentazione di fontspec (che poi sono quelli che Enrico ha riportato) mi funzionassero! 🙂

            Possibili cause:

            1. ho un’installazione di Junicode bacata (possibile? ho lasciato fare tutto a TeX Live Utility);

            2. ho qualche preferenza in TeXShop che confligge con le features OpenTyoe (quale)?;

            3. ho qualche baco nell’installazione di TeX Live 2011 (ne dubito, ma visto che nemmeno la faccenda di TeXworks spiegata da Claudio mi va… forse è questo).

            Boh. Ad ogni modo, come mai

            `{\addfontfeatures{VerticalPosition=Superior}123abc}`

            mi mette in esponente solo i numeri e non le lettere? 🙄

            Perché

            `{\addfontfeatures{Numbers=Lining}123}`

            non mi funziona proprio se nel preambolo ho scritto

            `
            \setmainfont[Numbers=OldStyle]{Junicode}
            `

            punto di domanda 🙂

            Ciao
            Tommaso

          • #72176
            Up
            0
            Down
            ::

            illinguista1972″ post=71382

            [quote=”illinguista1972″ post=71340]
            Quando però voglio ottenere qualcosa di diverso nel testo, per esempio dei numeri in esponente usando \addfontfeature, oppure altre cose documentate nella documentazione e perciò disponibili, ottengo un errore e la compilazione si blocca. Ottengo lo stesso errore anche quando metto l’opzione nel preambolo.

            Perché usare \addfontfeatures per i numeri a esponente?
            `% !TEX TS-program = xelatex
            % !TEX encoding = UTF-8 Unicode
            \documentclass[periodical]{suftesi}

            \usepackage{mathspec}
            \usepackage[no-sscript]{xltxtra}
            \defaultfontfeatures{Mapping=tex-text}
            \setprimaryfont[Numbers=OldStyle]{Junicode}

            \begin{document}

            Lorem ipsum\textsuperscript{123456789}
            Dolor sit amet\textsuperscript{abcdefghi}

            \end{document} `

            Ciao
            Ivan

            Funziona, ma mi vengono stampati numeri minuscoli. Io vorrei numeri maiuscoli. Ma, prima di tutto, vorrei che i comandi che leggo nella documentazione di fontspec (che poi sono quelli che Enrico ha riportato) mi funzionassero! 🙂

            Possibili cause:

            1. ho un’installazione di Junicode bacata (possibile? ho lasciato fare tutto a TeX Live Utility);

            2. ho qualche preferenza in TeXShop che confligge con le features OpenTyoe (quale)?;

            3. ho qualche baco nell’installazione di TeX Live 2011 (ne dubito, ma visto che nemmeno la faccenda di TeXworks spiegata da Claudio mi va… forse è questo).

            Boh. Ad ogni modo, come mai

            `{\addfontfeatures{VerticalPosition=Superior}123abc}`

            mi mette in esponente solo i numeri e non le lettere? 🙄

            Perché

            `{\addfontfeatures{Numbers=Lining}123}`

            non mi funziona proprio se nel preambolo ho scritto

            `
            \setmainfont[Numbers=OldStyle]{Junicode}
            `

            punto di domanda 🙂

            Ciao
            Tommaso[/quote]
            Deciditi: vuoi numeri maiuscoli o minuscoli?

            In ogni caso pare che l’opzione [tt]lnum[/tt] non ci sia in Junicode. 🙁 Perciò non funziona [tt]Numbers=Lining[/tt]; soluzione
            `\newfontfamily{\liningnumbers}{Junicode}

            {\liningnumbers 123}`
            Perché tu poi voglia caricare mathspec lo ignoro; e ancor più ignoro perché disabiliti il “vero” superscript, che Junicode ha, con xltxtra.

            Aggiungo l’informazione che i numeri a esponente che si ottengono con [tt]VerticalPosition=Superior[/tt] sono solo maiuscoli.

            Ciao
            Enrico

          • #72177
            Up
            0
            Down
            ::

            egreg9″ post=71383Deciditi: vuoi numeri maiuscoli o minuscoli?

            Forse sbagli persona o io ho capito male: io voglio (vorrei, anzi) il risultato che deve venir fuori. Non altro.

            egreg9″ post=71383In ogni caso pare che l’opzione [tt]lnum[/tt] non ci sia in Junicode. 🙁 Perciò non funziona [tt]Numbers=Lining[/tt]; soluzione
            `\newfontfamily{\liningnumbers}{Junicode}

            {\liningnumbers 123}`

            Questo funziona perfettamente. Non capisco come possa funzionare il il comando che hai dato prima a MaSara! Tu che dici?

            egreg9″ post=71383Perché tu poi voglia caricare mathspec lo ignoro; e ancor più ignoro perché disabiliti il “vero” superscript, che Junicode ha, con xltxtra.

            Questo lo fa Ivan, non io 🙂 Il vero superscript deve essere maiuscolo? Bene, basta caricare xltxtra e scrivere \textsuperscript{123}.

            egreg9″ post=71383Aggiungo l’informazione che i numeri a esponente che si ottengono con [tt]VerticalPosition=Superior[/tt] sono solo maiuscoli.

            E questo va bene. Non caricando xltxtra, allora, con \textsuperscript vengono numeri minuscoli.

            Ciao
            Tommaso

          • #72178
            Up
            0
            Down
            ::

            illinguista1972″ post=71384 Il vero superscript deve essere maiuscolo? Bene, basta caricare xltxtra e scrivere \textsuperscript{123}.

            Se però vuoi scrivere
            `
            5\textsuperscript{a} edizione
            3\textsuperscript{o} numero
            `
            ti serve
            `\usepackage[no-sscript]{xltxtra}`
            perché senza quell’opzione opzione xltxtra ridefinisce \textsuper(sub)script e l’ordinale non viene in apice 😉

            Ciao
            Ivan

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

        Go to top