[HarfBuzz] Vertical Mongolian
Simon Cozens
simon at simon-cozens.org
Fri Jul 10 07:40:23 PDT 2015
Hello!
I don't know if the following is a font problem or a Harfbuzz problem.
Mongolian is written top to bottom - like Japanese but with the columns
left to right. It's also joined with initial, medial and final forms
like Arabic.
When I shape Mongolian text with direction set to LTR, I get the joining
characters:
> text = "ᠲᠣᠣᠷ"
> SILE.shaper:shapeToken(text, SILE.font.loadDefaults({ font =
"Mongolian White", direction = "LTR" }))
{
{
codepoint = 589,
depth = -1.2744140625,
height = 6.1181640625,
name = "uni1832.E914_t.init",
width = 4.8828125,
},
{
codepoint = 373,
depth = -0.8447265625,
height = 4.39453125,
name = "uni1823.E83C_o.medi",
width = 2.9296875,
},
{
codepoint = 373,
depth = -0.8447265625,
height = 4.39453125,
name = "uni1823.E83C_o.medi",
width = 2.9296875,
},
{
codepoint = 618,
depth = -0.4052734375,
height = 6.73828125,
name = "uni1837.E931_r.fina",
width = 3.41796875,
},
}
When I shape the text with direction set to TTB, then I get *isolated*
forms:
{
{
codepoint = 274,
depth = 0,
height = 9.08203125,
name = "uni1832.t",
width = 4.8828125,
},
{
codepoint = 259,
depth = 0,
height = 9.08203125,
name = "uni1823.o",
width = 6.103515625,
},
{
codepoint = 259,
depth = 0,
height = 9.08203125,
name = "uni1823.o",
width = 6.103515625,
},
{
codepoint = 279,
depth = 0,
height = 9.08203125,
name = "uni1837.r",
width = 3.1689453125,
},
}
Obviously what I would like to get is vertical positioning of joined-up
Mongolian. I could set the direction to LTR and then rotate everything,
but that feels like a hack. I'm typesetting TTB, so the direction should
be TTB.
Noto Sans Mongolian also shows the same behaviour. Is this expected?
More information about the HarfBuzz
mailing list