TiroTypeworks / Indigo

32 stars 3 forks source link

Friendly Question #20

Closed MayuraVerma closed 2 years ago

MayuraVerma commented 2 years ago

What is the feature gpos difference used TiroKannada and Noto Sans Kannada in how the Chandrabindu sign is positioned with Kannada letters.

example: ಅಁ

Tiro Kannada works in macOS, iOS. Noto Sans Kannada doesn't work well, needs a space to update the position of the sign.

MayuraVerma commented 2 years ago

Noto Sans Kannada use Mark to Base for Chandrabindusign

lookup nuktafix-knda mark to base

mark candrabinduknda 0 -278,-259 mark nuktaknda 0 -279,-24 mark uni0951 0 -278,-259 mark uni0952 0 -278,327 mark uni1CD0 0 -278,-259 mark uni1CD2 0 -278,-259 mark uni1CDA 0 -278,-259 mark uni1CF4 0 -278,-259 mark candrabindu_0951knda 0 -278,-259 mark candrabindu_1CDAknda 0 -278,-259

tiroj commented 2 years ago

Which version of Noto Sans Kannada are you testing? The version that comes via Mac OS Font Book is quite old, and you may get better results with more recent versions from Google. This is what I am seeing with recent versions of the Noto Sans and Serif Kannada fonts:

image

Is this different from what you are seeing?

I have observed a couple of different conventions for positioning of the candrabindu in publications. In some, the candrabindu is raised, at a fixed height so that it clears the taller consonant+vowel forms such as ರಿ. This seems to be the model that the Noto fonts are following. In Tiro Kannada, I position the candrabindu as I would write it, relative to the position of the height of the base glyph.

image

The positioning in the Noto Serif Kannada does seem too high.

MayuraVerma commented 2 years ago

Please watch the video zipped in this file. https://drive.google.com/file/d/1_WV6T6NeuK1gj2rfBSR3CxBC-6OCb2SZ/view

It is related to TextKit2, it implemented in only few fields.

In macOS, Big Sur, Monterey or Ventura. If the latest version NotoSansKannada as system font. Open TextEdit Click on Format, then Make Plain Text, this will enable TextKit2.

Or In macOS, Ventura Open TextEdit Change the font to latest version NotoSansKannada

place the text ಅಁ in beginning of the line. You can place in multiple lines ಅಁ ಅಁ ಅಁ ಅಁ ಅಁ ಅಁ

Do not add space to right of the right. Chandrabindu wouldn't be display, until you add a space to the right of the text.

Whatever mark to base feature is not updated in TextKit2, as soon as the text is typed.

But with TiroKannada is showing the chandrabindu as soon the symbol is typed.

tiroj commented 2 years ago

Confirmed the behaviour as described in macOS Big Sur with TextEdit in Plain Text format mode. Since this is not a Tiro Kannada issue per se, will bring it to the attention of someone in Apple’s text engineering. I suspect, though, that they will request you to post a bug report to their feedback channels.

MayuraVerma commented 2 years ago

Feedback reported

Group 1: Issues in Kannada script in TextKit2. Meaning it exist in TextKit also, these are script related.

first two are related FB9479036 - Kannada text selection and cursor movement error FB9484854 - TextKit2 Kannada text selection and cursor movement error 2

FB9484908 - TextKit2: invisible Kannada chandrabindu sign FB9480360 - TextKit2 Cursor position with zero width joiner and Kannada letter

Group 2: The below one could be a very bad one for all scripts that needs than one line spacing. This is case for most complex script, at least all Indic scripts. Apple should consider this bug seriously. FB9484770 - Textkit2 line spacing issue

Group 3: Below issues are resolved in TextKit2. However it might take several years before TextKit2 becomes default engine in macOS n iOS FB9466738 - Broken Kannada Text FB9466734 - Broken Kannada Text FB9439804 - Broken Kannada Text FB7373231 - Kannada text is broken

I have proposed a simple solution in Noto Sans Kannada font, which is system font for Kannada in MacOS and iOS. This should resolve the above group 3 issues in TextKit and TextKit2, immediately below is the proposal https://github.com/notofonts/kannada/issues/5#issuecomment-1161928210

If Apple can request Noto-Fonts project to implement this feature. It would make Kannada script readable, editable, in Apple OS finally after 12 years.

Please do the needful. Please present these in front of right team.

tiroj commented 2 years ago

Current thinking is that the candrabindu mark is being clipped because it sits so high in the Noto fonts—and hence why it is not disappearing in Tiro Kannada—, although I am not sure why it suddenly appears when the space is added.

Have also brought this to the attention of Noto developers. Am closing this issue now, though, since it is not directly related to Tiro Kannada.

MayuraVerma commented 2 years ago

I know this is not an issue with Tiro Kannada.

My question is, what open type feature are you using to locate Chandrabindu in TiroKannada. I didn't see feature file in the source. I was trying to find out if your font had used a different OT feature than Noto.

I should have reported in NotoSansKannads project also. It showed in TextKit2 not in TextKit(version1). So I thought, Apple broke something in the new version. I will report in NotoSans Project.

Please forward the previous comments to Apple Core Text Team. There are few feedbacks related Kannada script and all scripts that are buggy in TextKit2🙏.

tiroj commented 2 years ago

The OpenType Layout implementation in the Tiro Indic fonts are in the VOLT sources. The candrabindu is positioned using a typical anchor attachment lookup in the abvm feature, so nothing unusual. I think the issue in the Noto fonts is how high the candrabindu is positioned relative to the OS/2 vertical metrics of the fonts, but have not examined in detail.