`\XeTeXglyph` greift ja auf den *glyph slot* zu. Der ist eigentlich nicht sehr zuverlässig, da er sich bereits zwischen unterschiedlichen Versionen des gleichen Fonts ändern kann. Anders gesagt: Die Nummer unter der das Zeichen im Font gespeichert ist, ist im Gegensatz zur Unicode-Nummer des Zeichens eher zufällig. Wenn möglich würde ich also auch unter XeTeX zum *unicode character slot* mit `\char` raten. Der ändert sich von Version zu Version des Fonts nicht und ist sogar über Font-Grenzen hinweg eindeutig.
Nichts desto trotz ist bei LuaTeX laut Abschnitt 6.2 der [aktuellen LuaTeX-0.76.0-Anleitung][1] ein Pedant namens `\glyph` *geplant*. Derzeit existiert dies allerdings noch nicht. Stattdessen kann es auch geschehen, dass sich die Definition von `\char` noch einmal ändert.
Theoretisch könnte man über die `characters` Tabelle eines Fonts zu einem ähnlichen Ergebnis gelangen. AFAIK ist Da aber nirgendwo festgelegt, dass diese die Tabelle die Glyphen eines Fonts nicht in genau der Reihenfolge enthält, der gewünschten Nummern sortiert ist, sondern diese als Element `index` in der sie auch im Font derselben gespeichert waren. Man sollte ist, muss man zunächst das passende Element suchen:
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{luacode}
\begin{luacode}
function LuaTeXglyph(charNo)
local fontNo=font.current()
local f=font.getfont(fontNo)
local i
local v
for i,v in pairs(f.characters) do
if v.index == charNo
then
tex.print( '\\char '..i )
end
end
end
\end{luacode}
\newcommand*{\LuaTeXglyph}[1]{%
\directlua{LuaTeXglyph(#1)}
}
\begin{document}
\LuaTeXglyph{500}
\end{document}
Die Idee dazu habe ich von Herberts Antwort genommen. Allerdings funktioniert diese Lösung hier für den aktuellen Font. Die Lua-Funktion `LuaTeXglyph` lässt sich also besser nicht darauf verlassen.
bestimmt noch optimieren. Ich bin leider alles andere als ein Lua-Experte. Zumindest liefert das in meinen Tests aber dasselbe Zeichen wie `\XeTeXglyph 500`.
[1]: http://www.luatex.org/svn/trunk/manual/luatexref-t.pdf