psb1558 / Elstob-font

A variable font for medievalists
SIL Open Font License 1.1
387 stars 9 forks source link

Turkish small caps return wrong glyph #38

Open alerque opened 11 months ago

alerque commented 11 months ago

When the language is set to Turkish, the small caps feature should return a dotted-i glyph for i inputs. See this example were ElstobD (v2.201) fails to do so and returns an undotted-i shape instead as in English. The second example line here is Brill, which is correct:

\begin[papersize=a7]{document}
\nofolios
\font[family=ElstobD,language=en,features=+smcp]{First Input: }
\font[family=ElstobD,language=tr,features=+smcp]{Bir İlk Ilık}

\font[family=Brill,language=en,features=+smcp]{First Input: }
\font[family=Brill,language=tr,features=+smcp]{Bir İlk Ilık}
\end{document}

20231104_16h02m14s_grim

alerque commented 11 months ago

Come to think of it, the lowercase undotted-i is also wrong. It's correctly dotless but it is not a capital shape at all, that should be mapped to the same capital a small caps i would give in English.

psb1558 commented 11 months ago

Come to think of it, the lowercase undotted-i is also wrong. It's correctly dotless but it is not a capital shape at all, that should be mapped to the same capital a small caps i would give in English.

You mean when smcp is active? If so, I see I got the second case wrong not only here, but also in Junicode.

alerque commented 11 months ago

Yes, lowercase dotless-i (ı) when rendered with +smcp is not returning a small caps glyph, it is just the same one as it was. Note the 3rd letter in Ilık. Elstob is showing the regular lower case shape. The shape that should be shown is the same glyph as used in English for a capital I without a dot, but small cap sized of course.

psb1558 commented 11 months ago

Thanks. That's what I thought, but I wanted to make sure it was straight in my head. Fixing now.

psb1558 commented 11 months ago

I've uploaded just the variable fonts. Before I make a release, would you mind grabbing them and making sure I've got them right?

psb1558 commented 11 months ago

I've uploaded new copies of the variable fonts after checking out the capitals with c2sc and fixing (or trying to fix) the fi and ffi ligatures. If you could check those things out, I'd be very grateful. In particular, a dotted i following f keeps its dot, and the narrow form of f is substituted. I'm pretty sure this is right:

image

But what should happen with dotless i? Should it be like this

image

or more like this (looking less like a ligature)?

image
alerque commented 11 months ago

Using the variable font build from cea8879cd05e2ded99a1fe9d4e404694467c50ff the results look correct. Updated test case using a local font file directly:

\begin[papersize=a7]{document}
\nofolios
\font[filename=./Elstob.ttf,language=en,features=+smcp]{First Input: }
\font[filename=./Elstob.ttf,language=tr,features=+smcp]{Bir İlk Ilık}

\font[family=Brill,language=en,features=+smcp]{First Input: }
\font[family=Brill,language=tr,features=+smcp]{Bir İlk Ilık}
\end{document}

20231106_13h03m48s_grim

psb1558 commented 11 months ago

Okay, thanks for testing. I'll update the repository and prepare a release sometime today.