JDK的代码:抱怨FreeType的斜体不好用,自行处理

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK的代码:抱怨FreeType的斜体不好用,自行处理相关的知识,希望对你有一定的参考价值。

  昨天整合OpenJDK8到泰山JDK8,发现freetypeScaler.c有所改动。实际上这个文件已经被泰山JDK改得面目全非。吾当时还有点奇怪,这个文件应该不会改,怎么这次改动了呢?仔细对比了代码,发现其中一段很有意思:

// values used by FreeType (as of version 2.10.1) for italics transformation matrix in FT_GlyphSlot_Oblique
#define FT_MATRIX_ONE        0x10000
#define FT_MATRIX_OBLIQUE_XY 0x0366A

static void setupTransform(FT_Matrix* target, FTScalerContext *context) 
    FT_Matrix* transform = &context->transform;
    if (context->doItalize) 
        // we cannot use FT_GlyphSlot_Oblique as it doesn't work well with arbitrary transforms,
        // so we add corresponding shear transform to the requested glyph transformation
        target->xx = FT_MATRIX_ONE;
        target->xy = FT_MATRIX_OBLIQUE_XY;
        target->yx = 0;
        target->yy = FT_MATRIX_ONE;
        FT_Matrix_Multiply(transform, target);
     else 
        target->xx = transform->xx;
        target->xy = transform->xy;
        target->yx = transform->yx;
        target->yy = transform->yy;
    

  这意思就是:FreeType对于任意变形的斜体支持不好,所以我们不得不自行处理。

  任意变形的斜体?某些情况下泰山OFFICE也会遇到,需要进行专门研究。

以上是关于JDK的代码:抱怨FreeType的斜体不好用,自行处理的主要内容,如果未能解决你的问题,请参考以下文章

关于FreeType中文竖排斜体的接口的争论

关于FreeType中文竖排斜体的接口的争论

梦笔记0207:关于FreeType中文斜体特性的工作预言

热烈庆贺FreeType正式支持中文竖排时的斜体功能

中国FreeType联盟的几项工作

抱怨Swagger不好用?好吧我换一个好用的