Re: Dimensioni dei font

#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

Go to top