From 08a811315bfbb682625a169cc7f8ef27af87c428 Mon Sep 17 00:00:00 2001 From: Nishi Date: Wed, 23 Sep 2026 10:17:59 +0900 Subject: [PATCH] several fixes --- lib/sj4charset/conv.c | 3 +++ lib/sj4ime/ime.c | 2 ++ src/sj4mkdic/string.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/lib/sj4charset/conv.c b/lib/sj4charset/conv.c index b53498b..6c20b11 100644 --- a/lib/sj4charset/conv.c +++ b/lib/sj4charset/conv.c @@ -5,9 +5,12 @@ #include "sj_string.h" #include +#include #ifdef UCS static u_int ucs_to_euc(u_int in) { + if(in == 0x3094) in = 0x30f4; + if(in <= 0xffff) { const T_U2E_BITMAP_INDEX* b = &utf16_to_euc_jp_table[(in >> 8) & 0xff]; diff --git a/lib/sj4ime/ime.c b/lib/sj4ime/ime.c index 395ab6c..56c3085 100644 --- a/lib/sj4ime/ime.c +++ b/lib/sj4ime/ime.c @@ -50,6 +50,8 @@ Sj4Ime* sj4_ime(int charset, const char* dict, Sj4ImePacket packet) { ime->charset = charset; ime->packet = packet; + + return ime; } static int w_len(wchar_t* wc) { diff --git a/src/sj4mkdic/string.c b/src/sj4mkdic/string.c index a10b3e9..5f9c495 100644 --- a/src/sj4mkdic/string.c +++ b/src/sj4mkdic/string.c @@ -198,6 +198,8 @@ void utf8_print(char* out, int c) { #ifdef UTF8 int unicode_to_eucjp(int utf) { + if(utf == 0x3094) utf = 0x30f4; + if(0 <= utf && utf <= 0xffff) { const T_U2E_BITMAP_INDEX* b = &utf16_to_euc_jp_table[(utf >> 8) & 0xff];