[NTG-context] \uchar and italics question

Mojca Miklavec mojca.miklavec.lists at gmail.com
Fri Jan 20 18:30:12 CET 2006


On 1/18/06, sjoerd siebinga wrote:
> On 18 Jan 2006, at 13:10, Mojca Miklavec wrote:
> > If the placement of the
> > macron doesn't suit your font, you can redefine it and get rid of
> > those \uchar-s.
>
> What is the best way to redefine the accents (like macron, acute,
> etc.) to say a standard tex accent?

See enco-def.tex:

\definecharacter Amacron {\buildtextaccent\textmacron A}

This places the accent in the default way. But for example:

\definecharacter Adotbelow  {\buildtextbottomdot A}

In enco-ini.tex:
\def\buildtextbottomdot{\bottomaccent{.25ex}{0}{5}{\textbottomdot}}
\def\buildtextmacron{\bottomaccent{.25ex}{0}{15}{\textmacron}}
\def\buildtextgrave{\topaccent{0pt}{0}{15}{\textgrave}}

You can fine-tune those three argument to suit you best.

See also enco-acc.tex.

> Is there a command to pick up certain utf-glyphs that aren't picked-
> up by context? See the  ƃ ǖ in my example file.

I don't understand much abot the fonts and typescripts you are using,
but if you are using pdfTeX, two criteria have to be met:

1. you have to have it in the font (not only in the ttf, but also in
tfm I guess) - this seem to be rather complex font definitions; in
case of usual "256-character" fonts you could get them with something
similar to \getglyph{UnicodeRegular01}{\char131} (you can define the
character name somewhere else, so that you don't need to say that
explicitely) or

% has to be included inside the proper encoding & typescript file
% I doubt that this would suit your needs
\definecharacter btopbar   131

But I don't know how this fits with your fonts.

2. If you have low-level access to proper glyphs described above, take
a look at unic-001.tex (or enco-uc.tex, but I guess that the later is
only used in XeTeX):

\startunicodevector 1
  \expandafter\strippedcsname
  \ifcase\numexpr#1\relax
    \Amacron       \or
...
    \Zcaron        \or
    \zcaron        \or
    \slong         \or % 127 \slong \else
    \unknownchar   \or % could be \bstroke
    \unknownchar   \or % could be \Bhook
    \unknownchar   \or
    \unknownchar   \or % this could be "your" \btopbar (ƃ)
           % (LATIN SMALL LETTER B WITH TOPBAR)
           % or some more appropriate name
...
    \uhorn         \or
...
    \udiaeresismacron \or % ǖ LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
...
    \else
    \unknownchar
  \fi
\stopunicodevector

And then \btopbar has to be defined in the "encoding" to result in the
proper glyph. These slots were left undefined since nobody is
currently using them. If you can "invent" appropriate names, plese
consider contributing to the list. I collected some of the names
(those that I was able to find) on
http://pub.mojca.org/tex/enco/contextlist/contextnames.html (not all
of them are present in unic-*). unic-*.tex, enco-uc.tex are not really
sinchronized yet (in one file some names are defined which are not
defined in the other one).

For Chinese and Japanese some other mechanism is used which doesn't
need those names (might be more appropriate for you as well?), but I
don't know any more about it.

Mojca


More information about the ntg-context mailing list