From 895d0d343ffa8a8664b5a1a471be1011307b65f3 Mon Sep 17 00:00:00 2001 From: Tan Kian-ting Date: Tue, 7 Oct 2025 22:40:53 +0800 Subject: [PATCH] 1. modify libharfbuzz and the .so, and modify libharu interface file. add a plugin for uahgi2 --- 3rdparty/libharfbuzz-icu.so | 1 + 3rdparty/libharfbuzz-icu.so.0 | 1 + 3rdparty/libharfbuzz-icu.so.0.61210.0 | Bin 0 -> 86480 bytes expander.rkt | 47 +++++++++++++++--------- unsafe/libharfbuzz.rkt | 51 +++++++++++++++++++++----- unsafe/libharu.rkt | 8 +++- 6 files changed, 80 insertions(+), 28 deletions(-) create mode 120000 3rdparty/libharfbuzz-icu.so create mode 120000 3rdparty/libharfbuzz-icu.so.0 create mode 100755 3rdparty/libharfbuzz-icu.so.0.61210.0 diff --git a/3rdparty/libharfbuzz-icu.so b/3rdparty/libharfbuzz-icu.so new file mode 120000 index 0000000..02c36dc --- /dev/null +++ b/3rdparty/libharfbuzz-icu.so @@ -0,0 +1 @@ +libharfbuzz-icu.so.0 \ No newline at end of file diff --git a/3rdparty/libharfbuzz-icu.so.0 b/3rdparty/libharfbuzz-icu.so.0 new file mode 120000 index 0000000..1614abc --- /dev/null +++ b/3rdparty/libharfbuzz-icu.so.0 @@ -0,0 +1 @@ +libharfbuzz-icu.so.0.61210.0 \ No newline at end of file diff --git a/3rdparty/libharfbuzz-icu.so.0.61210.0 b/3rdparty/libharfbuzz-icu.so.0.61210.0 new file mode 100755 index 0000000000000000000000000000000000000000..13dd253cd60df9020dfd73e103e9835486833be4 GIT binary patch literal 86480 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