Re: virgolette non tipografiche

#91887
Up
0
Down
::

samiel” post=91454Sì, così naturalmente funziona, grazie. Non so se la soluzione che avevo adottato,
ovvero inserire direttamente il glifo sia (stilisticamente e concettualmente) più “sporca”.

Una curiosità. Per ottenere i glifi li ho stampato su pdf col seguente codice:
`\documentclass[landscape]{article}
\usepackage{geometry}
\usepackage{fontspec}
\setmainfont{Garamond Premier Pro}
\usepackage{multicol}
\setlength{\columnseprule}{0.4pt}
\usepackage{multido}
\setlength{\parindent}{0pt}
\begin{document}

\begin{multicols}{10}
\multido{\i=0+1}{“10000}{% from U+0000 to U+FFFF
\iffontchar\font\i
\makebox[3em][l]{\i}%
\symbol{\i}\endgraf
\fi
}
\end{multicols}
\end{document}`
Ora, il primo glifo della stampata porta il numero 32, le virgolette non tipografiche il 34.
Eppure per ottenerle devo usare \XeTeXglyph 3, e in effetti si tratta del terzo glifo stampato.
FontForge poi mi dà il valore Unicode U+0022, ma lo colloca sempre alla 34esima posizione.
Da cosa deriva che per Xelatex devo usare il numero 3?

Il comando [tt]\XeTeXglyph[/tt] si riferisce ai glifi presenti nel font; se per caso un font avesse glifi anche nelle posizioni 0–31, il numero corrispondente alle virgolette diritte non sarebbe più 3.

samielPer contro, un altro script per fare lo stesso lavoro trovato in rete
`\documentclass

{standalone}
\usepackage{geometry}
\usepackage{xunicode, xltxtra}
\usepackage{fontspec}
\usepackage{multicol}
\setmainfont[Mapping=tex-text, Ligatures={Historical}, Alternate=0]{Linux Libertine O}
\setlength{\columnsep}{0.3cm}
\setlength{\columnseprule}{1pt}
\begin{document}

\begin{multicols}{10}
\newcount\charcount
\charcount=0
\loop
\number\charcount \hspace{1ex} \XeTeXglyph\charcount
\par
\ifnum\charcount<2500
\advance\charcount1
\repeat
\end{multicols}

\end{document}`
mi dà errore
`*geometry* driver: auto-detecting
*geometry* detected driver: xetex

! LaTeX Error: Something's wrong–perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.

l.12 \newcount
\charcount
? `

Semplice, non puoi usare [tt]multicols[/tt] con la classe standalone. Puoi anche sapere a che punto fermarti:

`
\documentclass

{article}
\usepackage{geometry}
\usepackage{multicol}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text, Ligatures={Historical}, Alternate=0]{Linux Libertine O}
\setlength{\columnsep}{0.3cm}
\setlength{\columnseprule}{1pt}
\newcount\charcount
\begin{document}

\begin{multicols}{9}
\charcount=0
\chardef\lastglyph=\numexpr\XeTeXcountglyphs\font-1\relax
\loop
\number\charcount \hspace{1ex} \XeTeXglyph\charcount
\par
\ifnum\charcount<\lastglyph \advance\charcount1 \repeat \end{multicols} \end{document} ` Perché togliere 1? Bella domanda: se provi a stampare l'ultimo glifo hai un errore che rende il PDF non valido. :( Ciao Enrico

Go to top