TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know a good font for (La)TeX. This is 256-glyphs non-Unicode LH-fonts. I use XeTeX with Unicode encoding. There are many chars with codes above 256. XeTeX currently doesn't know which glyphs are present in such fonts. How to map these Unicode codes to glyph slot codes between 128 and 255? I want something like that.

Macro \glyphcode does not exist. But I would like

\font\lh = larm1000
\glyphcode \lh `\п = 239
\lh п

To print "п" by "larm1000"-font XeTeX must use 239 glyph from larm1000 rather than Unicode code. I know bad workaround

\catcode`\п = 13 \def п{\char239 }

But I want letters to have 11 catcode.

share|improve this question
You can use such fonts the same way you used them with 8-bit TeX engines. – Khaled Hosny Jan 16 '13 at 16:01
Yes, of course. But I want to use utf8. I need some chars like ≤ ≥ ∑ ∆ √ ∫ ˚ … – Alexey Malistov Jan 16 '13 at 16:17
You can probably use xetex-inputenc for that. – Khaled Hosny Jan 16 '13 at 20:53
Unfortunately, it seems that character mapping like mapping=tex-text cannot be applied to fonts in TFM format, which instead I hoped for. But the LA fonts are incorporated in the CMUnicode fonts that are available in TeX Live – egreg Jan 16 '13 at 20:59
egreg! That's it! CMUnicode. – Alexey Malistov Jan 16 '13 at 21:34

You can't apply mapping=tex-text or any other mapping to legacy TFM fonts in XeTeX (while those fonts can still be used in the traditional way also with XeTeX).

There are OpenType clones of the Computer Modern fonts that include also Cyrillic glyphs, issued by the CM-Unicode project, present also on CTAN and included in TeX Live.


\setmainfont[Ligatures=TeX]{CMU Serif}

should be what you need. The font file name is cmunrm.otf if you need to call it in this way.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.