Skip to content

Commit 74c3650

Browse files
songhahaha66da-liii
authored andcommitted
!470 [206_2] 修复emoji与普通字符对齐问题
1 parent 3c9349d commit 74c3650

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

TeXmacs/tests/tmu/206_2.tmu

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
🫡😇🙃😚🥰😛😐😪
77

88
🐔😔☀💞⛔🤦
9+
10+
Test🐔😔☀💞⛔🤦测试
11+
12+
<\equation*>
13+
<frac|😢|😢+😢>=😭
14+
</equation*>
915
</body>
1016

1117
<\initial>

devel/206_2.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
11
# [206_2] 初步支持emoji渲染
2+
3+
## 2025/07/31
4+
### What
5+
6+
将emoji显示竖直方向下调2/10
7+
8+
### How
9+
10+
修改tt_face.cpp和qt_render.cpp
11+
12+
### Why
13+
14+
确保emoji跟普通文字对齐
15+
216
## 2025/07/11
317
### 如何测试
418
打开 TeXmacs/tests/tmu/206_2.tmu 即可

src/Plugins/Freetype/tt_face.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ tt_font_metric_rep::get (int i) {
141141
xw= w * PIXEL; // Logical width in pixels
142142
xh= h * PIXEL; // Logical height in pixels
143143
dx= 0;
144-
dy= h * PIXEL;
144+
dy= (h * PIXEL * 8) / 10;
145145
}
146146

147147
SI ww= w * PIXEL;

src/Plugins/Qt/qt_renderer.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -734,8 +734,12 @@ qt_renderer_rep::draw_emoji (int char_code, font_glyphs fn, SI x, SI y) {
734734
return;
735735
}
736736

737+
// Calculate vertical offset for better alignment
738+
SI emoji_y_offset=
739+
(h * std_shrinkf * 2 * PIXEL) / 10; // Move down by 20% of emoji height
740+
737741
// Draw the emoji picture at the specified position
738-
draw_picture (emoji_picture, x, y, 255);
742+
draw_picture (emoji_picture, x, y - emoji_y_offset, 255);
739743
}
740744

741745
/******************************************************************************

0 commit comments

Comments
 (0)