latex3 / unicode-math

XeLaTeX/LuaLaTeX package for using unicode/OpenType maths fonts
http://ctan.org/pkg/unicode-math
LaTeX Project Public License v1.3c
243 stars 28 forks source link

Missing glyphs in unicode-math-table.tex #428

Closed eg9 closed 6 years ago

eg9 commented 6 years ago

I discovered two glyphs that could be useful for math, see link below. They are in the CJK Symbols and Punctuation block (U+3000..U+303F), like U+3012 (\postalmark) and U+3030 (\hzigzag), already included in unicode-math-table.tex.

The glyphs are U+3016 LEFT WHITE LENTICULAR BRACKET and U+3017 RIGHT WHITE LENTICULAR BRACKET, which are used at least in a mathematical paper Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire.

As far as I can see, the glyphs are included in all TeX Gyre Math fonts (including Latin Modern Math) and Cambria Math. Not in STIX, though.

See https://tex.stackexchange.com/q/408066/4427 and the comments by Barbara Beeton who pointed to CJK for finding the glyphs.

wspr commented 6 years ago

Would you suggest \lbparen / \rbparen as the names for these?

More broadly, if we add these shouldn’t we also add:

3014 LEFT TORTOISE SHELL BRACKET 3015 RIGHT TORTOISE SHELL BRACKET 3018 LEFT WHITE TORTOISE SHELL BRACKET 3019 RIGHT WHITE TORTOISE SHELL BRACKET

If so, what should we call them?

wspr commented 6 years ago

Oops, the ‘tortoise’ brackets are already included elsewhere. Never mind!

eg9 commented 6 years ago

Maybe \llens and \rlens?

wspr commented 6 years ago

@eg9 I'd rather keep paren or brack in the name... is it more like a parenthesis or more like a bracket? :)

davidcarlisle commented 6 years ago

It's not clearly a good idea to add these as math characters.

Unicode has gone to some effort to separate the CJK punctuation block from math characters, after early versions unified them (by default as there was no real math block) Notably the somewhat controversial re-assignment of html lang and rang to avoid characters that normalised to U+3008 and U+3009 and instead use U+27E8 (MATHEMATICAL LEFT ANGLE BRACKET) which was added specifically to avoid using this U+3xxx block for mathematical symbols.

eg9 commented 6 years ago

@davidcarlisle Right. But see https://tex.stackexchange.com/questions/408066/symbol-for-anamorphism#comment1018104_408071 for more context. Possibly the Unicode guys have contradictory views on the problem.

davidcarlisle commented 6 years ago

@eg9 sure, but the (ideal but not necessarily quick) solution is to add new math characters (as was done in Unicode 3.x for all characters in this block known to be used in math contexts at that time) If the canonical name is \textwhatever that does not preclude authors using it in a math context just as any character can be used.

But anyway I'm not necessarily saying the characters shouldn't be added (adding them as math characters with mathopen/mathclose would have some practical advantages of course) but wanted to document here (and in unicode-math documentation preferably) a warning that these are not classified as math characters.

Note in particular if @josephwright s code to parse the unicodedata and mathclass files were used, these characters would not get any specific math class.

wspr commented 6 years ago

David raises some good points. It probably points towards the need to have easier extensibility in unicode-math, so if someone wants to use certain CJK brackets in maths there’s an easy way to do it.

wspr commented 6 years ago

I should also do a better job of documenting these sorts of issues so that we can sensibly approach Unicode about correcting such shortcomings!