Invalid Font Name

  • Creatore
    Topic
  • #110962
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Ho un set di caratteri Helvetica Neue il cui grassetto presenta il problema seguente.
      `samiel@debian:~/myfonts/truetype$ otfinfo -i helvetica-neue-bold.ttf
      Family: Helvetica Neue
      Subfamily: Bold
      Full name: Helvetica Neue Bold
      PostScript name: HelveticaNeue(bold)`
      E fin qui apparentemente tutto file. Se però lo apro con Fontforge ricevo l’avviso
      `Bad Font Name
      The PostScript font name “HelveticaNeue(bold)” is invalid.
      It should be printable ASCII
      Must not cointain ()[]{}….`
      Ma, una volta aperto, se vado sulla voce Elemento – Informazioni sul font – PS Names
      il nome riportato è “HelveticaNeuebold”.
      E non capisco quale sia il nome autentico, magari da usare con Xelatex…

      Grazie
      m

    Visualizzazione 6 filoni di risposte
    • Autore
      Risposte
      • #110963
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          A XeLaTeX, o meglio a fontspec devi specificare al famiglia Helvetica Neue

          Se poi vuoi tutta la serie degli Helvetic Neue, essi sono
          Light
          Medium
          Regular
          Thin
          UltraLight
          Italic
          Light Italic
          Thin Italic
          UltraLight Italic
          Bpld
          Bold Italic
          Condensed Black
          Condensed bold

          Credo che se vuoi usare solo i soliti quattro, tu debba usare i semplici comandi di LaTeX, \mediumseries, \bfseries, \itshape e \itshape\bfseries che scelgono automaticamente le serie e le forme giuste; altrimenti se vuoi usare altre serie o altre forme, devi definnirti di appositi comandi (compresi i corrispondenti \text…)

        • #110964
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Ho provato
            `\documentclass{article}
            \usepackage{fontspec}
            \setmainfont[
            ItalicFont = HelveticaNeue-Italic,
            BoldFont = HelveticaNeuebold,
            BoldItalicFont = HelveticaNeue-BoldItalic]{HelveticaNeue}
            \newfontfamily\NHLight[
            ItalicFont = HelveticaNeue-LightItalic,
            BoldFont = HelveticaNeue-Light,
            BoldItalicFont = HelveticaNeue-LightItalic]{HelveticaNeue-Light}

            \newcommand\textrmlf[1]{{\NHLight#1}}
            \newcommand\textitlf[1]{{\NHLight\itshape#1}}
            \let\textbflf\textrm
            \newcommand\textulf[1]{{\NHLight\bfseries#1}}
            \newcommand\textuitlf[1]{{\NHLight\bfseries\itshape#1}}

            \begin{document}

            \textrm{foo} \textbf{bar} \textit{baz} \textbf{\textit{foobar}} \par
            \textrmlf{foo} \textbflf{bar} \textulf{bar} \textitlf{baz} \textuitlf{foobar}

            \end{document}`
            ma ottengo
            `! fontspec error: “font-not-found”
            !
            ! The font “HelveticaNeuebold” cannot be found.
            !
            ! See the fontspec documentation for further information.
            !
            ! For immediate help type H .
            !………………………………………..

            l.6 … = HelveticaNeue-BoldItalic]{HelveticaNeue}

            ?
            `

          • #110965
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Seguendole istruzioni di fontspec e il modello dell’esempio 4 di pagina 16 della sua documentazione, il seguente EMC funziona. La questione è quella di nominare le famiglie, non i singoli font.`% !TEX TS-program = XeLaTeX
              % !TEX encoding = UTF-8 Unicode
              \documentclass{article}
              \usepackage{fontspec}
              \setmainfont{Helvetica Neue}
              \newfontfamily\NHLight{Helvetica Neue Light}[BoldFont=Helvetica Neue]

              \newcommand\textrmlf[1]{{\NHLight#1}}
              \newcommand\textitlf[1]{{\NHLight\itshape#1}}
              \let\textbflf\textrm
              \newcommand\textulf[1]{{\NHLight\bfseries#1}}
              \newcommand\textuitlf[1]{{\NHLight\bfseries\itshape#1}}

              \begin{document}

              \textrm{foo} \textbf{bar} \textit{baz} \textbf{\textit{foobar}} \par
              \textrmlf{foo} \textbflf{bar} \textulf{bar} \textitlf{baz} \textuitlf{foobar}

              \end{document}`

            • #110966
              samiel
              Partecipante
                Up
                0
                Down
                ::


                Già, così funziona col normale e il light.
                Ma la sigla `textulf` starebbe per UltraLight?
                E se appunto volessi giocare con tre (po più pesi),
                normale, light e ultralight?

                mille grazie!
                m

              • #110967
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Giusto! Solo un dubbio. Se volessi sfruttare pià pesi, ad esempio l’UltraLight,
                  `\setmainfont[Ligatures=TeX]{Helvetica Neue}
                  \newfontfamily\NHLight{Helvetica Neue Light}[BoldFont=Helvetica Neue]
                  \newfontfamily\NHUltraLight{Helvetica Neue UltraLight}[BoldFont=Helvetica Neue]

                  \newcommand\textrmlf[1]{{\NHLight#1}}
                  \newcommand\textitlf[1]{{\NHLight\itshape#1}}
                  \let\textbflf\textrm
                  \newcommand\textulf[1]{{\NHLight\bfseries#1}}
                  \newcommand\textuitlf[1]{{\NHLight\bfseries\itshape#1}}

                  \newcommand\textrmulf[1]{{\NHUltraLight#1}}
                  \newcommand\textitluf[1]{{\NHUltraLight\itshape#1}}
                  \let\textbflf\textrm`
                  è sufficiente aggiungere la \newfontfamily e le righe che ho inserito?

                  ancora grazie
                  m

                • #110968
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Direi propio di sì, visto che l’esempio nella guida di fontspec riguarda proprio l’ultralight

                    Scegli bene i nomi dei comandi \text… perché a me i nomi che hai scelto non dicono niente, mentre se fossero un minimo mnemonici sarebbe meglio. Magari invece epr te qulle stringhe sono perfettamante chiare non hai bisogno di modificare niente.

                  • #110969
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      i nomi sono abbreviazioni ad es \textrmulf è text + roman (rm) +ultralight (ul) + font (f)
                      magari non sono così perspicui, ma se devo usarli solo io… so di che cosa si tratta!

                      grazie
                      m

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

                  Go to top