Mojca Miklavec wrote: > I compared tex-text and trep, tlig. Since you map features=default to > trep and tlig, and both of them further to tex-text (twice), tex-text > could be split in two parts as well, so that you can make one-to-one > mapping.
there is a difference here vetween xetex and luatex > Should I make those changes and seny you the two files? (Twice 300 > bytes to be added to ConTeXt + souce, which is approximately the same > as written below.) first i need to understand the problem; actually i'm even thinking of not defaulting (in luatex) the mapping other than -- and --- because they are (1) not sensible and (2) users shoul duse quotation commands and/or (3) use the proper utf codes > 1.) TREP > > function fonts.initializers.base.otf.texquotes(tfm,value) > tfm.characters[0x0022] = table.fastcopy(tfm.characters[0x201D]) > tfm.characters[0x0027] = table.fastcopy(tfm.characters[0x2019]) > tfm.characters[0x0060] = table.fastcopy(tfm.characters[0x2018]) > end > > Corresponding lines from XeTeX: > > U+0022; ; ; >;U+201D; ; " -> right double quote > U+0027; ; ; <>;U+2019; ; ' -> right single quote > U+0060; ; ; <>;U+2018; ; ` -> left single quote these i hate most, and personally never use them ... if i key in a char explicitly i want that char and not another > 2.) TLIG > > { "endash", "hyphen hyphen" }, > U+002D U+002D; ; ; <>;U+2013; ; -- -> en dash > > { "emdash", "hyphen hyphen hyphen" }, > U+002D U+002D U+002D;<>;U+2014; ; --- -> em dash > > { "quotedblright", "quotesingle quotesingle" }, > U+0027 U+0027; <>;U+201D; ; '' -> right double quote > > { "quotedblleft", "grave grave" }, > U+0060 U+0060; <>;U+201C; ; `` -> left double quote > > { "quotedblbase", "comma comma" } > U+002C U+002C; <>;U+201E; ; ,, -> DOUBLE LOW-9 QUOTATION MARK > > missing from tex-text (not needed so far) actually there's even space + something becomes something else > { "quotedblleft", "quoteleft quoteleft" }, > 0x2018 0x2018 <> 0x201C ; 2x left single quote -> left double quote > > { "quotedblright", "quoteright quoteright" }, > 0x2019 0x2019 <> 0x201D ; 2x right single quote -> right double quote and then those spanish ... > 3.) Only in XeTeX's tex-text (Do people need it?): > > U+0021 U+0060; <>;U+00A1; ; !` -> inverted exclam > U+003F U+0060; <>;U+00BF; ; ?` -> inverted question > > U+003C U+003C; <>;U+00AB; ; << -> LEFT POINTING GUILLEMET > U+003E U+003E; <>;U+00BB; ; >> -> RIGHT POINTING GUILLEMET let's get rid of it > Plus, there's a little problem with this patch that I have sent you > (it's not in stable yet, so it might make sense to fix it before > releasing): > > \definefontsynonym[Dummy] [name:\typescripttwo] [features=default] > \definefontsynonym[DummyItalic] [name:\typescripttwo/I] [features=default] > \definefontsynonym[DummyBold] [name:\typescripttwo/B] [features=default] > \definefontsynonym[DummyBoldItalic][name:\typescripttwo/BI][features=default] > > \definefontsynonym[DummyCaps] [name:\typescripttwo] > [features=smallcaps] i'd like to let caps and such go away completely for mkiv so maybe we end up with xetex defs versus luatex defs; i wonder if in practice users will use both at the same time (ok, you do) > The problem is that "features=default" implies "script=latn", which is > not always desired. A copy of mapping=tex-text comes from tlig & trep > substitution. we can fall back to dflt which in practice boils down to latn > I assume that script=latn;language=dflt;+liga;+kern; is always on by > default (were needed), so basically mapping=tex-text is the only thing > that really needs to be added. well, i'd prefer ... only -- and --- and make anything else up to the user, which means, redefining default in cont-sys if needed > [Iwona-Bold.otf]:script=latn;language=dflt;+liga;+kern;mapping=tex-text;mapping=tex-text; two mappings? > > Some (non-latin) fonts complain when one requests non-existing features. in xetex you mean? > Also, it might be handy to be able to define > \definetypeface[basic][rm][Xserif][whatever][script=arab,language=...] > (for now forget that one, interface needs to be extended once and properly). > > > \definefontsynonym[a][file:Iwona-Bold.otf][mapping=tex-text] > doesn't work, so the only way seems to be > \definefontfeature[xetex][mapping=tex-text] > \definefontsynonym[a][file:Iwona-Bold.otf][xetex] > > I have tried to use > \definefontfeature[xetex][mapping=tex-text] > \definefontfeature[caps][+smcp] > \definefontsynonym[a][file:Iwona-Bold.otf][features={xetex,caps}] > but that didn't work. indeed, handling comma separated lists is too slow there .. ok, we can do it for xetex and in luatex use lua for it ... or i could hash the commalist itself ... needs a bit of thinking but eventually we need to be able to combine features (this even more points into a separate definition file for xetex) Hans ----------------------------------------------------------------- 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 ----------------------------------------------------------------- _______________________________________________ dev-context mailing list dev-context@ntg.nl http://www.ntg.nl/mailman/listinfo/dev-context