I am using \buildtextaccent to create a couple of characters that have no Unicode equivalent. They are scribal abbreviations that made it into early typesetters works. In this case, the abbreviation are for Latin que, which looks like a q with a small ezh appended in a subscript position, and q with an acute accent, both of which are used in some 17th century works I am dealing with. An example of the abbreviation with the ezh and accent can be seen at https://books.google.com/books?id=hHNVAAAAcAAJ&pg=PA6#v=onepage&q&f=false in the sixth line of the paragraph beginning “Yea but”. It seems that \buildtextaccent\textacute q (or \buildtextaccent´q) moves the q to the right within the character’s bounding box. The following example (and attached resulting pdf) demonstrates this. Lines 1 and 2 show the string with and without the \buildtextaccent, and lines 4 and 6 repeat that in italic. The strings are the same width, but the q is moved right. Lines 3 and 6 show a manual kerning of the q to improve appearance. This happens with many fonts, but not all (I do not see it with Computer Modern). I am using Win 10Pro x64 with ConTeXt ver: 2015.09.04 11:00 MKIV beta fmt: 2015.9.5 int: english/english. I suspect that this is not intended, but I am not sure. I would also love to raise the accent a bit. Suggestions? I can live with it as it is and manually kern as needed. There are very few instances of these abbreviations that need to be dealt with. % macros=mkvi engine=luajittex \starttexdefinition boxWidth #STR \setbox0=\hbox{#STR}\the\wd0 \stoptexdefinition \starttexdefinition Dicitque Dicitq\kern-0.070em\low{ʒ}\autoinsertnextspace \stoptexdefinition \starttexdefinition DicitqueK Dicit\buildtextaccent\textacute q\kern-0.070em\low{ʒ}\autoinsertnextspace \stoptexdefinition \starttexdefinition DicitqueKK Dicit\kern-0.060em\buildtextaccent\textacute q\kern-0.070em\low{ʒ}\autoinsertnextspace \stoptexdefinition \starttexdefinition idque idq\autoinsertnextspace \stoptexdefinition \starttexdefinition idqueK id\buildtextaccent\textacute q\autoinsertnextspace \stoptexdefinition \starttexdefinition idqueKK id\kern-0.060em\buildtextaccent\textacute q\autoinsertnextspace \stoptexdefinition \setupbodyfont[ebgaramond,12pt] \starttext \startitemize[n,joinedup,packed] \item \Dicitque \qquad\boxWidth{\Dicitque}\par \item \DicitqueK \qquad\boxWidth{\DicitqueK}\par \item \DicitqueKK \qquad\boxWidth{\DicitqueKK}\par \it \item \Dicitque \qquad\boxWidth{\Dicitque}\par \item \DicitqueK \qquad\boxWidth{\DicitqueK}\par \item \DicitqueKK \qquad\boxWidth{\DicitqueKK}\par \stopitemize \startitemize[n,joinedup,packed] \item \idque \qquad\boxWidth{\idque}\par \item \idqueK \qquad\boxWidth{\idqueK}\par \item \idqueKK \qquad\boxWidth{\idqueKK}\par \it \item \idque \qquad\boxWidth{\idque}\par \item \idqueK \qquad\boxWidth{\idqueK}\par \item \idqueKK \qquad\boxWidth{\idqueKK}\par \stopitemize \stoptext -- Rik
On 09/06/2015 05:27 PM, Rik wrote:
I am using \buildtextaccent to create a couple of characters that have no Unicode equivalent.
Hi Rik, although they don’t seem to work as expected in ConTeXt, Unicode has combining diacritical marks (as you might know), such as: U+0301 COMBINING ACUTE ACCENT Just in case it might help, Pablo They are scribal abbreviations that made it into
early typesetters works. In this case, the abbreviation are for Latin que, which looks like a q with a small ezh appended in a subscript position, and q with an acute accent, both of which are used in some 17th century works I am dealing with. An example of the abbreviation with the ezh and accent can be seen at https://books.google.com/books?id=hHNVAAAAcAAJ&pg=PA6#v=onepage&q&f=false in the sixth line of the paragraph beginning “Yea but”.
It seems that \buildtextaccent\textacute q (or \buildtextaccent´q) moves the q to the right within the character’s bounding box. The following example (and attached resulting pdf) demonstrates this. Lines 1 and 2 show the string with and without the \buildtextaccent, and lines 4 and 6 repeat that in italic. The strings are the same width, but the q is moved right. Lines 3 and 6 show a manual kerning of the q to improve appearance.
This happens with many fonts, but not all (I do not see it with Computer Modern). I am using Win 10Pro x64 with ConTeXt ver: 2015.09.04 11:00 MKIV beta fmt: 2015.9.5 int: english/english.
I suspect that this is not intended, but I am not sure.
I would also love to raise the accent a bit. Suggestions? I can live with it as it is and manually kern as needed. There are very few instances of these abbreviations that need to be dealt with.
On 2015-09-06 11:52, Pablo Rodriguez wrote:
On 09/06/2015 05:27 PM, Rik wrote:
I am using \buildtextaccent to create a couple of characters that have no Unicode equivalent. Hi Rik,
although they don’t seem to work as expected in ConTeXt, Unicode has combining diacritical marks (as you might know), such as:
U+0301 COMBINING ACUTE ACCENT
Just in case it might help,
Pablo
On 2015-09-06 12:20, Thomas A. Schmitz wrote:
\buildtextaccent has to take some heuristics about horizontal and vertical placement and is sometimes wrong about it. Since your case is somewhat special, I would define a macro for the que symbol and adjust the boxes manually - but then, you'll have to adapt it to italic and upright (and bold) and different font sizes. Depends on how important typographical beauty is to you - either a medium-quality solution for all cases or better quality and manual fiddling... Something like
\definefontfamily [test] [serif] [ebgaramond]
\setupbodyfont [test,12pt]
\define\que% {\bgroup \setbox0\hbox{q}% \setbox2\hbox to \wd0{\kern0.3em\switchtobodyfont[6pt] ʒ}% \setbox4\hbox to \wd0{\kern0.1em\textacute}% \hbox to \wd0 \bgroup \hss\copy0\hss \hskip-\wd0 \raise-0.45ex\copy2 \hskip-\wd0 \raise0.1ex\copy4 \egroup \egroup\autoinsertnextspace}
\starttext
{\it Dicit\que mihi}
\stoptext
(btw, the example you sent uses Latin Modern).
Thomas
Indeed, for the cases where there are combining accents that is a much better solution. I should have chosen a better example, that is, one that does not have a combining accent. Fortunately, there are very few that fall into that category, and unfortunately, there are some. Using this, together with Thomas’s code, I can get around these issues. Thank you both. (And yes, I had attached the wrong example, and then referred to the font therein by the wrong name.) -- Rik
On 06.09.2015 17:27, Rik wrote:
It seems that \buildtextaccent\textacute q (or \buildtextaccent´q) moves the q to the right within the character’s bounding box. The following example (and attached resulting pdf) demonstrates this. Lines 1 and 2 show the string with and without the \buildtextaccent, and lines 4 and 6 repeat that in italic. The strings are the same width, but the q is moved right. Lines 3 and 6 show a manual kerning of the q to improve appearance.
\buildtextaccent has to take some heuristics about horizontal and vertical placement and is sometimes wrong about it. Since your case is somewhat special, I would define a macro for the que symbol and adjust the boxes manually - but then, you'll have to adapt it to italic and upright (and bold) and different font sizes. Depends on how important typographical beauty is to you - either a medium-quality solution for all cases or better quality and manual fiddling... Something like \definefontfamily [test] [serif] [ebgaramond] \setupbodyfont [test,12pt] \define\que% {\bgroup \setbox0\hbox{q}% \setbox2\hbox to \wd0{\kern0.3em\switchtobodyfont[6pt] ʒ}% \setbox4\hbox to \wd0{\kern0.1em\textacute}% \hbox to \wd0 \bgroup \hss\copy0\hss \hskip-\wd0 \raise-0.45ex\copy2 \hskip-\wd0 \raise0.1ex\copy4 \egroup \egroup\autoinsertnextspace} \starttext {\it Dicit\que mihi} \stoptext (btw, the example you sent uses Latin Modern). Thomas
participants (3)
-
Pablo Rodriguez
-
Rik
-
Thomas A. Schmitz