Thomas A. Schmitz wrote:
OK, the message below didn't get too many responses, so maybe I can rephrase my quiestions in a more precise manner:
1. For otftotfm, there's the "unicoding" command where you can replace a character in a certain slot with another unicode character, so you could say unicoding "A = uni03D1" Is anything like this possible in luatex?
sure, but it depends a bit on what level ... font driven or not if you have open type fonts, you can add features on the fly ... \starttext \installfontfeature[otf][verb] \definefontfeature [test] [mode=node,language=dflt,script=latn, verb=yes,featurefile=verbose-digits.fea] {\font\test=name:lmroman10regular*test at 20pt \test 1 2 3 4} \ctxlua{characters.context.show(\number"00AB)} \stoptext this replaces 1 by one and 2 by two ... the file verbose-digits.fea in in the distribution and an example of a fontforge specification file
2. I see this code in font-otf.lua: fonts.otf.features.data.tex = { { "endash", "hyphen hyphen" }, { "emdash", "hyphen hyphen hyphen" }, { "quotedblleft", "quoteleft quoteleft" }, { "quotedblright", "quoteright quoteright" }, { "quotedblleft", "grave grave" }, { "quotedblright", "quotesingle quotesingle" }, { "quotedblbase", "comma comma" } }
that's ligatures and there for backward compatibility (hm, makes me wonder if it makes more sense to do that using feature files)
and this list is used in the function function fonts.initializers.base.otf.texligatures(tfm,value)
How is it possible to write a similar list and function for just a single font or fonts in a specific typescript?
in principle you can add lua code in typescripts and then register that as a feature (so, texligatures or tlig is one of them, as is lineheight) it all depends on how generic things are; we can think of features like remap=name-of-remap-vector (keep in mind that this operates on node lists then; rencoding the input i.e. regimes is done differently) so .. just write down detailed specs -) Han ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------