On 05/05/2010 08:55 AM, David Bevan wrote: > And how /should/ FreeType be used for vertical writing mode?
This is how cairo handles it: /* * Translate glyph to match its vertical metrics. */ static void _cairo_ft_scaled_glyph_vertical_layout_bearing_fix (void *abstract_font, FT_GlyphSlot glyph) { cairo_ft_scaled_font_t *scaled_font = abstract_font; FT_Vector vector; vector.x = glyph->metrics.vertBearingX - glyph->metrics.horiBearingX; vector.y = -glyph->metrics.vertBearingY - glyph->metrics.horiBearingY; if (glyph->format == FT_GLYPH_FORMAT_OUTLINE) { FT_Vector_Transform (&vector, &scaled_font->unscaled->Current_Shape); FT_Outline_Translate(&glyph->outline, vector.x, vector.y); } else if (glyph->format == FT_GLYPH_FORMAT_BITMAP) { glyph->bitmap_left += vector.x / 64; glyph->bitmap_top += vector.y / 64; } } behdad _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-devel