fix(freetype): 补 ftsynth.c —— 合成粗体/斜体 - #311
Merged
Merged
Conversation
上游把它编在 base 里,所有发行版都出;这里漏了,而这个缺口在有消费者调它之前 完全看不见——freetype 自己不调。 cairo 无条件调:cairo-ft-font.c:2443 在字体没有所要字重时调 FT_GlyphSlot_Embolden,没有任何 HAVE_ 守卫可关。所以拿这套 freetype 建 cairo 会在链接期得到两个未定义引用。加 freedesktop.cairo 时实测撞到的。 freetype 自己的测试成员照常绿。只改 pkgs/。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
上游把
ftsynth.c编在base里,所有发行版都出;这里漏了。这个缺口在有消费者调它之前完全看不见 —— freetype 自己不调它,所以
tests/examples/freetype一直是绿的。cairo 无条件调:
没有任何
HAVE_守卫可以关掉 —— 这是字体没有所要字重时 cairo 合成一个的路径。所以拿这套 freetype 建 cairo 会在链接期得到FT_GlyphSlot_Embolden和FT_GlyphSlot_Oblique两个未定义引用。加freedesktop.cairo时实测撞到的。同一类问题在 fontconfig 那边是反向的:那里我按上游默认声明了
HAVE_FT_GET_BDF_PROPERTY,而这套 freetype 不编 BDF 模块,于是八个未定义引用。两次都说明同一件事:一个 compat 包的源码列表就是它的 ABI 承诺,而承诺是被消费者发现的,不是被自己的测试发现的。tests/examples/freetype照常绿。只改了pkgs/。