I am using XeTeX to encode Opentype fonts. One of the feature of opentype font is availability of Private Use Area.

Generally, Private Use Area in most cases contains different variants of same characters and different ligatures. It also contains characters that has not been defined by Unicode. This Private Use Area comes in great application when encoding many Indic Texts(Sanskrit and others), which have many variants of same text and many more text left to be encoded by Unicode. So, font provider supply those characters in Private Use Area.

Question: How do I access Private Use Area by using fontspec in XeTeX ? Yes! I check the manual of fontspec but didn't seem to find this ?

Any help would be appreciated.

2 Answers 2


You can either insert the character itself into the source, since XeTeX expects unicode-encoded source (provided your editor is compliant), or you can use \char"#### where #### is the unicode hex number.

\setmainfont{Linux Libertine O}

 %Here I have the character itself, which may or may not show up on your end
\char"E000 % here is the unicode reference number


alt text

There are probably other ways too, but these work for me.

  • 3
    Inserting he literal character for a glyph that by definition gives you different shapes in different fonts is probably going to be a bit confusing; I'd recommend the second approach (usually with a macro to make it obvious what you're trying to insert) Sep 15, 2010 at 22:42
  • How do I find specific number for that character of PUA ? I am using Linux.
    – Ujjwol
    Sep 16, 2010 at 12:01
  • Even after I will have figured out this method, it will work only for Non-Indic scripts, Indic Scripts needs repositioning of characters, which I think is not possible for PUA.
    – Ujjwol
    Sep 16, 2010 at 13:03

If you want to write "different variants of same characters and different ligatures" as your quotation says, then you should not use the PUA but select glyph variants. Unicode encodes characters, not glyphs, and fonts using the PUA is usually only due to technical reasons; PUA characters are non-portable and shoudn't be entered directly. See section 10.9 in the fontspec manual on how to select glyph variants manually. If that isn't sufficient, describe your actual goal.

  • Ya! I just check glyph variant with Zapfino font and it worked. But Zapfino contains different .otf files for different variants. So I am quite confused with this glyph variant.
    – Ujjwol
    Sep 16, 2010 at 12:19
  • Portability is of no issue for me, if I can at least compile and get pdf with using that character. My actual goal is to encode a PUA character with features of the a specific unicode character, by this I mean positioning of characters for Indic scripts where they need to be changed than the default position.
    – Ujjwol
    Sep 16, 2010 at 12:23
  • If you are confused with my goal, I will expand it.
    – Ujjwol
    Sep 16, 2010 at 12:24
  • There is no section 10.9 in the current fontspec manual (v2.7i ctan.mines-albi.fr/macros/unicodetex/latex/fontspec/…)
    – yannis
    Dec 30, 2020 at 21:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .