From decb3d1f30aa0378a322728d0abbceefdee0af0c Mon Sep 17 00:00:00 2001 From: Yuki Date: Tue, 24 Feb 2026 20:37:06 +0800 Subject: [PATCH 1/2] wip --- devel/212_2.md | 11 +++++++++++ src/Plugins/Freetype/tt_face.cpp | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 devel/212_2.md diff --git a/devel/212_2.md b/devel/212_2.md new file mode 100644 index 0000000000..40e650c967 --- /dev/null +++ b/devel/212_2.md @@ -0,0 +1,11 @@ +# 212_2 修复非emoji的unicode符号导出失败的问题 + +## 如何测试 +打开`TeXmacs/tests/tmu/206_19.tmu`这个文档,导出pdf和文档一致而不是 ☒。 + +## 2026/02/24 +### What +修复非emoji的unicode符号(如 ♤♡♢♧ ♠♥♦♣)导出pdf时变为 ☒ + +### Why +普通文本字体(比如 NotoSerif)里的符号被误套 emoji 处理而导出异常。 \ No newline at end of file diff --git a/src/Plugins/Freetype/tt_face.cpp b/src/Plugins/Freetype/tt_face.cpp index d36d72682f..3cf9ae5cf2 100644 --- a/src/Plugins/Freetype/tt_face.cpp +++ b/src/Plugins/Freetype/tt_face.cpp @@ -164,7 +164,7 @@ tt_font_metric_rep::get (int i) { SI ll = tt_si (slot->metrics.horiAdvance); (void) xw; - bool is_emoji= is_emoji_character (i); + bool is_emoji= !is_nil (face->cbdt_table) && is_emoji_character (i); if (is_emoji) { // For PNG fonts (CBDT), apply scaling factor to make them scalable @@ -332,7 +332,7 @@ tt_font_glyphs_rep::get (int i) { } // Handle emoji characters - bool is_emoji= is_emoji_character (i); + bool is_emoji= !is_nil (face->cbdt_table) && is_emoji_character (i); if (is_emoji) { SI ll= tt_si (slot->metrics.horiAdvance); From 04c3a4247621a90605f93c30aeff3835963194b7 Mon Sep 17 00:00:00 2001 From: Da Shen Date: Wed, 25 Feb 2026 22:27:03 +0800 Subject: [PATCH 2/2] wip --- devel/{212_2.md => 212_3.md} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename devel/{212_2.md => 212_3.md} (76%) diff --git a/devel/212_2.md b/devel/212_3.md similarity index 76% rename from devel/212_2.md rename to devel/212_3.md index 40e650c967..1cd410ae24 100644 --- a/devel/212_2.md +++ b/devel/212_3.md @@ -1,4 +1,4 @@ -# 212_2 修复非emoji的unicode符号导出失败的问题 +# 212_3 修复非emoji的unicode符号导出失败的问题 ## 如何测试 打开`TeXmacs/tests/tmu/206_19.tmu`这个文档,导出pdf和文档一致而不是 ☒。 @@ -8,4 +8,4 @@ 修复非emoji的unicode符号(如 ♤♡♢♧ ♠♥♦♣)导出pdf时变为 ☒ ### Why -普通文本字体(比如 NotoSerif)里的符号被误套 emoji 处理而导出异常。 \ No newline at end of file +普通文本字体(比如 NotoSerif)里的符号被误套 emoji 处理而导出异常。