-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Research the dieresis situation #109
Comments
Typography library may produce support for the automation here. |
If you use .ttf file, I think the Typography may help you. Feel free to ask/ create a new issue! |
I thought it was strange as well but it isn't. If we try to render a character that's greater than an ushort, it would be an error, so we have to change where the position of a character to a free position that is less than an ushort's max value. That position may have held a character (say %) but it's code point now holds a new character. This is useful since a lot of Unicode math symbols are too large and for us to use them, that's what we have to do. You could use fontfotge to see the actual glyph, it's metrics, change the glyph and/or others and even what it's code point is meant to hold. |
I think the issue is that the dieresis, which unicode codepoint is 168 (U+00A8), but its glyph index is 196. /cc @prepare Edit: Oh, so using Typography is a solution but that's not done yet. I guess this is just a TODO issue then. Nvm. |
We don't know yet if Typography will help us with that case. Someone needs to research the situation. |
I never had to deal with Typeface and Glyph issues because Typography handles all of the table readings in CSharpMath. I don't need any JSON or XML files, just the OTF font files are enough. Plus, integrated typeface importing on-the-go is also possible thanks to Typography. However, if you have other solutions, please do share them. |
Hello, Do you have latest font? Can you post the expected/actual result of a dieresis glyph from your app? I downloaded the cm* font from (https://github.com/ForNeVeR/wpf-math/tree/master/src/WpfMath/Fonts). And the analyze those fonts with latest Typography branch (https://github.com/LayoutFarm/Typography/tree/post_table_rev) Font analysis At this time. ...
cmmi dose not have a glyph name 'dieresis' pic 1: cmmi font contains 134 glyphs Only font that contains 'dieresis' is cmr10.ttf (see pic 2), pic 2: dieresis, in cmr10.ttf, glyphIndex=131 pic 3: compare this with Microsoft VisualTrueType, dieresis, in cmr10.ttf, glyphIndex=131, |
That is my first report... I also need to investigate more. |
@prepare thank you so much for your investigation and for documenting it here. You've taken the latest font we have (we bundle the font from the repository in our NuGet package), that's right. Actually I can't remember why the dieresis took my attention. Probably it was the first character I've checked or something. Essentially I was looking for an automated way of mapping font characters to their codes in our XML. Main problem is that we still don't know how these codes were generated, and we can't proceed with auto XML regeneration without that information. |
I think your XML was created from some complex 'Tex' tool. At this time...
Why dieresis is marked as O 177 We need to go to the original glyph definition of the cm font (https://ctan.org/tex-archive/fonts/cm/mf) I think dieresis is here => http://mirror.hmc.edu/ctan/fonts/cm/mf/accent.mf (scroll to the end of the page)
beginchar(oct"177", At that time, it may be called 'Umlaut accent' or 'double dot' accent. and then some tool map it to the name "dieresis" later. |
And ...
I try to read the definition of 'A'
I think |
There's strange contradiction I even had to describe in the documentation:
We need to research that: what does
code="196"
mean and what's the reason the diaresis isn't 168?We need to find the answer and write in into the documentation.
The text was updated successfully, but these errors were encountered: