Dimensioni dei font

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


      Ho un romanfont da accoppiare con un ttfont,
      il quale è nettamente più grande. Posso creare
      un set apposito di file per scalare il ttfont,
      ma vorrei sapere una cosa. Come posso determinare
      la “altezza” diciamo della lettera m di entrambi i font
      per poi stabilire la percentuale esatta di scalatura
      per renderle alte uguali? Perché scalare “a occhio”
      .92 o .91 e simili non è il massimo e non garantisce
      ovviamente l’esattezza del risultato

      Grazie
      M.

    Visualizzazione 5 filoni di risposte
    • Autore
      Risposte
      • #52510
        Up
        0
        Down
        ::

        Ho un romanfont da accoppiare con un ttfont,
        il quale è nettamente più grande. Posso creare
        un set apposito di file per scalare il ttfont,
        ma vorrei sapere una cosa. Come posso determinare
        la “altezza” diciamo della lettera m di entrambi i font
        per poi stabilire la percentuale esatta di scalatura
        per renderle alte uguali? Perché scalare “a occhio”
        .92 o .91 e simili non è il massimo e non garantisce
        ovviamente l’esattezza del risultato

        Non c’è un risultato “esatto”, quello che conta è la compatibilità visuale e qui conta certamente l’occhio.

        Per esempio, le lettere di Computer Modern Typewriter sono nettamente più basse delle corrispondenti di Computer Modern Roman, in particolare le maiuscole. Se fossero grandi uguale le parti in Typewriter sarebbero troppo evidenti.

        Visto che ti interessano i Bera Mono, fa’ qualche prova con
        `\usepackage[scaled=x]{beramono}`
        dando valori diversi a x in modo da vedere quale sembri meglio.

        Ciao
        Enrico

      • #52511
        admin
        Amministratore del forum
          Up
          0
          Down
          ::

          Ho un romanfont da accoppiare con un ttfont,
          il quale è nettamente più grande. Posso creare
          un set apposito di file per scalare il ttfont,
          ma vorrei sapere una cosa. Come posso determinare
          la “altezza” diciamo della lettera m di entrambi i font
          per poi stabilire la percentuale esatta di scalatura
          per renderle alte uguali? Perché scalare “a occhio”
          .92 o .91 e simili non è il massimo e non garantisce
          ovviamente l’esattezza del risultato

          Non c’è un risultato “esatto”, quello che conta è la compatibilità visuale e qui conta certamente l’occhio.

          Per esempio, le lettere di Computer Modern Typewriter sono nettamente più basse delle corrispondenti di Computer Modern Roman, in particolare le maiuscole. Se fossero grandi uguale le parti in Typewriter sarebbero troppo evidenti.

          Visto che ti interessano i Bera Mono, fa’ qualche prova con
          `\usepackage[scaled=x]{beramono}`
          dando valori diversi a x in modo da vedere quale sembri meglio.

          Ciao
          Enrico

          Salve.
          Riesumo questa discussione (che tenevo d’occhio) perché ho provato a mettere insieme qualche comando per determinare
          in prima (anche ultima se vogliamo) approssimazione, il valore da dare a scaled, facendo in modo da
          avere la dimensione del font in Typewriter family leggermente minore di quella del font in Roman Family.

          I font che ho usato sono Utopia (pacchetto fourier) e Bera Mono (con Computer Modern e Bera Mono non funziona).

          Il codice è:
          `\documentclass[10pt]{book}

          \usepackage{fourier}
          \usepackage{beramono}
          \usepackage{siunitx}

          \newsavebox{\calcboxnorm}
          \sbox\calcboxnorm{x}

          \newsavebox{\calcboxtt}
          \sbox\calcboxtt{\texttt{x}}

          \begin{document}

          \begin{center}
          \begin{tabular}{lcS}
          Roman Family & x & \the\ht\calcboxnorm\\
          Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
          \end{tabular}
          \end{center}

          \end{document}`
          I risultati sono 4.3045pt e 5.58998pt rispettivamente.
          Pertanto per determinare un ragionevole valore della x:
          `4.3045 pt / 5.58998 pt = 0.770038533`
          approssimato per difetto a 0.77.

          Il codice diventa

          `\documentclass[10pt]{book}

          \usepackage{fourier}
          \usepackage[scaled=0.77]{beramono}
          \usepackage{siunitx}

          \newsavebox{\calcboxnorm}
          \sbox\calcboxnorm{x}

          \newsavebox{\calcboxtt}
          \sbox\calcboxtt{\texttt{x}}

          \begin{document}

          \begin{center}
          \begin{tabular}{lcS}
          Roman Family & x & \the\ht\calcboxnorm\\
          Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
          \end{tabular}
          \end{center}

          \end{document}`
          i valori invece, 4.3045pt e 4.3043pt rispettivamente.

          I comandi per determinare quelle grandezze li ho presi da qui .

          Ciao,
          ansys.

        • #52512
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Molto interessante. Io ho fatto un’altra prova con questo programmino:
            `
            \documentclass{article}

            \usepackage{fourier}
            \usepackage{beramono}

            \makeatletter
            \newcommand*\scriviocchio[1][\normalfont]{{#1\setlength{\dimen@}{1ex}\the\dimen@}}
            \newcommand*\scrivixheight[1][\normalfont]{\settoheight{\dimen@}{#1 x}\the\dimen@}
            \begin{document}\centering
            \begin{tabular}{lcrr}
            Roman & x & \scriviocchio[\rmfamily] & \scrivixheight[\rmfamily]\\
            Typewriter & \ttfamily x & \scriviocchio[\ttfamily] & \scrivixheight[\ttfamily]
            \end{tabular}
            \end{document}
            `

            A parte i nomi delle macro scelti senza pensare al loro significato letterale, \scriviocchio dovrebbe scrivere il valore della x-height, propagandato come l’altezza della lettera “x”, mentre \scrivixheight stampa la vera altezza della lettera x.

            Ho provato prima commentando le chiamate ai due pacchetti fourier e beramono e ho ottenuto effettivamente l’uguaglianza della x-height e dell’altezza della “x” sia con il tondo proporzionale sia per il tondo a spaziatura fissa, tutti valori di 4,30554pt per entrambi i font e per entrambe le grandezze. Notare bene che questi valori sono tutti scritti dentro il file .tfm dei rispettivi font, non sono le altezze vere dei disegni di singoli glifi, ma i CM sono creati in questo modo e l’occhio ne è soddisfatto perché il typewriter più scuro richiede un occhio vero leggermente più piccolo.

            Poi ho tolto i commenti dai due pacchetti e ho quindi confrontato il tondo a spaziatura variabile di utopia con il typewriter di beramono; i numeri sono tutti diversi:

            `
            1ex x-height
            Roman 4.40000pt 4.60999pt
            Typewr. 5.46999pt 5.58998pt
            `

            Ora il rapporto delle due grandezze “1ex” sarebbe 0.804 mentre il rapporto fra le due altezze x-height sarebbe 0.825. Non mi spiego alcuni valori ottenuti con questo programmino da quelli ottenuti da @ansys. Tuttavia, a meno che io non ci abbia messo errori che non vedo, questo piccolo esperimento mostra i diversi criteri di disegno dei CM che hanno le stesse metriche, ma i disegni sono già corretti e i CM (EC, LM, eccetera) formano una famiglia/collezione coerente di font. Mentre gli utopia e i bera mono sono stati disegnati da persone diverse in tempi diversi per scopi diversi; è chiaro che si può usare il rapporto 0.77 determinato da @ansys oppure i rapporti 0,81 0 0,82 determinati con questo programmino o anche altri valori; il giudizio definitivo lo dà l’occhio di chi esegue la composizione, ma in definitiva l’occhio di chi legge.

            Personalmente penso che se il rapporto è così lontano da 1 i due font non vadano bene d’accordo assieme; infatti se si rimpicciolisce il beramono di circa il 20% c’è il pericolo che il beramono risulti sì della grandezza giusta, ma troppo chiaro rispetto all’altro font non rimpicciolito. Tuttavia io sono solo un dilettante, quindi non mi sogno assolutamente di dire che che utopia e beramono stiano assieme come i cavoli a merenda. Per fare affermazioni apodittiche come questa bisogna avere esperienza e senso estetico, che io di sicuro non ho.

          • #52513
            Up
            0
            Down
            ::

            [quote]Ho un romanfont da accoppiare con un ttfont,
            il quale è nettamente più grande. Posso creare
            un set apposito di file per scalare il ttfont,
            ma vorrei sapere una cosa. Come posso determinare
            la “altezza” diciamo della lettera m di entrambi i font
            per poi stabilire la percentuale esatta di scalatura
            per renderle alte uguali? Perché scalare “a occhio”
            .92 o .91 e simili non è il massimo e non garantisce
            ovviamente l’esattezza del risultato

            Non c’è un risultato “esatto”, quello che conta è la compatibilità visuale e qui conta certamente l’occhio.

            Per esempio, le lettere di Computer Modern Typewriter sono nettamente più basse delle corrispondenti di Computer Modern Roman, in particolare le maiuscole. Se fossero grandi uguale le parti in Typewriter sarebbero troppo evidenti.

            Visto che ti interessano i Bera Mono, fa’ qualche prova con
            `\usepackage[scaled=x]{beramono}`
            dando valori diversi a x in modo da vedere quale sembri meglio.

            Ciao
            Enrico

            Salve.
            Riesumo questa discussione (che tenevo d’occhio) perché ho provato a mettere insieme qualche comando per determinare
            in prima (anche ultima se vogliamo) approssimazione, il valore da dare a scaled, facendo in modo da
            avere la dimensione del font in Typewriter family leggermente minore di quella del font in Roman Family.

            I font che ho usato sono Utopia (pacchetto fourier) e Bera Mono (con Computer Modern e Bera Mono non funziona).

            Il codice è:
            `\documentclass[10pt]{book}

            \usepackage{fourier}
            \usepackage{beramono}
            \usepackage{siunitx}

            \newsavebox{\calcboxnorm}
            \sbox\calcboxnorm{x}

            \newsavebox{\calcboxtt}
            \sbox\calcboxtt{\texttt{x}}

            \begin{document}

            \begin{center}
            \begin{tabular}{lcS}
            Roman Family & x & \the\ht\calcboxnorm\\
            Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
            \end{tabular}
            \end{center}

            \end{document}`
            I risultati sono 4.3045pt e 5.58998pt rispettivamente.
            Pertanto per determinare un ragionevole valore della x:
            `4.3045 pt / 5.58998 pt = 0.770038533`
            approssimato per difetto a 0.77.

            Il codice diventa

            `\documentclass[10pt]{book}

            \usepackage{fourier}
            \usepackage[scaled=0.77]{beramono}
            \usepackage{siunitx}

            \newsavebox{\calcboxnorm}
            \sbox\calcboxnorm{x}

            \newsavebox{\calcboxtt}
            \sbox\calcboxtt{\texttt{x}}

            \begin{document}

            \begin{center}
            \begin{tabular}{lcS}
            Roman Family & x & \the\ht\calcboxnorm\\
            Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
            \end{tabular}
            \end{center}

            \end{document}`
            i valori invece, 4.3045pt e 4.3043pt rispettivamente.

            I comandi per determinare quelle grandezze li ho presi da qui .[/quote]
            Io ottengo un valore di 0.80438 confrontando 1ex nei due font. Confrontando le x invece ottengo 0.82469. Evidentemente lo sviluppatore di BeraMono voleva che l’altezza delle minuscole fosse minore della misura di 1ex.

            Un modo per avere la scelta in automatico è
            `documentclass[a4paper]{article}
            \usepackage[T1]{fontenc}
            \usepackage{fourier}
            \usepackage{calc}
            \begingroup\makeatletter
            \fontsize{10}{10}\rmfamily\dimen0=1ex
            \font\test=fvmr8t \test\dimen2=1ex
            \setlength{\dimen@}{\p@*\ratio{\dimen0}{\dimen2}}
            \edef\x{\endgroup
            \noexpand\usepackage[scaled=\strip@pt\dimen@]{beramono}}
            \x`
            Uso la dimensione 1ex per rispettare l’evidente volontà dell’autore di BeraMono. 🙂

            Ciao
            Enrico

          • #52514
            admin
            Amministratore del forum
              Up
              0
              Down
              ::


              Grazie ad entrambi per le risposte.
              Tra le altre cose, pur non sapendo quanto sia lecito, ho provato con:
              `\documentclass{book}

              \usepackage{fourier,pifont}
              \usepackage{beramono}
              \usepackage{siunitx}

              \newsavebox{\calcboxnorm}
              \sbox\calcboxnorm{1ex}

              \newsavebox{\calcboxtt}
              \sbox\calcboxtt{\texttt{1ex}}

              \begin{document}

              \begin{center}
              \begin{tabular}{lcS}
              Roman Family & x & \the\ht\calcboxnorm\\
              Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
              \end{tabular}
              \end{center}

              \end{document}`
              ed ottengo 0.859 (arrotondato).
              In ultima analisi? Stiamo dando i numeri! 😀

              A parte questo gioco di parole, anche io (ovviamente) non so del perché e del per come si hanno questi
              numeri tutti diversi. Probabilmente la soluzione dell’arcano sta in quello che dice egreg9.

              Da questo topic ho, se non altro, del materiale su cui studiare, cioè le vostre macro.

              Ovviamente io ho accostato i due font senza nessun motivazione precisa: non ho esperienza e senso estetico. Questione solamente di gusti.

              Grazie mille,
              ansys.

              P.s.: Il topic non stava meglio in TeX e LaTeX?

            • #52515
              Up
              0
              Down
              ::

              Grazie ad entrambi per le risposte.
              Tra le altre cose, pur non sapendo quanto sia lecito, ho provato con:
              `\documentclass{book}

              \usepackage{fourier,pifont}
              \usepackage{beramono}
              \usepackage{siunitx}

              \newsavebox{\calcboxnorm}
              \sbox\calcboxnorm{1ex}

              \newsavebox{\calcboxtt}
              \sbox\calcboxtt{\texttt{1ex}}

              \begin{document}

              \begin{center}
              \begin{tabular}{lcS}
              Roman Family & x & \the\ht\calcboxnorm\\
              Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
              \end{tabular}
              \end{center}

              \end{document}`
              ed ottengo 0.859 (arrotondato).
              In ultima analisi? Stiamo dando i numeri! 😀

              A parte questo gioco di parole, anche io (ovviamente) non so del perché e del per come si hanno questi
              numeri tutti diversi. Probabilmente la soluzione dell’arcano sta in quello che dice egreg9.

              Da questo topic ho, se non altro, del materiale su cui studiare, cioè le vostre macro.

              Ovviamente io ho accostato i due font senza nessun motivazione precisa: non ho esperienza e senso estetico. Questione solamente di gusti.

              Grazie mille,
              ansys.

              P.s.: Il topic non stava meglio in TeX e LaTeX?

              Hai semplicemente confrontato l’altezza del carattere 1 nel font Utopia e in BeraMono. Avresti dovuto dire \sbox\calcboxnorm{\vrule height 1ex} per fare quello che speravi.

              Il filone, all’inizio, andava bene qui.

              Ciao
              Enrico

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

          Go to top