Compare commits

...

2 Commits

Author SHA1 Message Date
hyung-hwan a758747661 added the jis0208 cmgr
continuous-integration/drone/push Build is passing
2026-04-11 00:38:11 +09:00
hyung-hwan d0a425cbd6 added big5 and gbk encoding 2026-04-11 00:13:12 +09:00
28 changed files with 65838 additions and 71 deletions
+8 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: hawk 1.0.0\n" "Project-Id-Version: hawk 1.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-04 15:11+0900\n" "POT-Creation-Date: 2026-04-10 23:03+0900\n"
"PO-Revision-Date: 2026-03-28 16:29+0800\n" "PO-Revision-Date: 2026-03-28 16:29+0800\n"
"Last-Translator: <author@hawk>\n" "Last-Translator: <author@hawk>\n"
"Language-Team: Korean <translation-team-ko@hawk>\n" "Language-Team: Korean <translation-team-ko@hawk>\n"
@@ -186,12 +186,12 @@ msgstr " --script-encoding 문자열 스크립트 파일 인코딩 이
#: ../../bin/hawk.c:427 #: ../../bin/hawk.c:427
#, fuzzy #, fuzzy
msgid " --conout-encoding string specify console input encoding name" msgid " --conin-encoding string specify console input encoding name"
msgstr " --console-encoding 문자열 콘솔 인코딩 이름을 지정" msgstr " --console-encoding 문자열 콘솔 인코딩 이름을 지정"
#: ../../bin/hawk.c:428 #: ../../bin/hawk.c:428
#, fuzzy #, fuzzy
msgid " --conin-encoding string specify console output encoding name" msgid " --conout-encoding string specify console output encoding name"
msgstr " --console-encoding 문자열 콘솔 인코딩 이름을 지정" msgstr " --console-encoding 문자열 콘솔 인코딩 이름을 지정"
#: ../../bin/hawk.c:431 #: ../../bin/hawk.c:431
@@ -973,3 +973,8 @@ msgstr "선택자가 유효하지 않음"
#: ../../lib/err.c:227 #: ../../lib/err.c:227
msgid "unknown error" msgid "unknown error"
msgstr "알 수 없는 오류" msgstr "알 수 없는 오류"
#, fuzzy
#~ msgid ""
#~ " --conin-encoding string specify console output encoding name"
#~ msgstr " --console-encoding 문자열 콘솔 인코딩 이름을 지정"
+8 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: hawk 1.0.0\n" "Project-Id-Version: hawk 1.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-04 15:11+0900\n" "POT-Creation-Date: 2026-04-10 23:03+0900\n"
"PO-Revision-Date: 2026-03-28 17:00+0800\n" "PO-Revision-Date: 2026-03-28 17:00+0800\n"
"Last-Translator: <author@hawk>\n" "Last-Translator: <author@hawk>\n"
"Language-Team: Chinese (Simplified) <translation-team-zh_CN@hawk>\n" "Language-Team: Chinese (Simplified) <translation-team-zh_CN@hawk>\n"
@@ -185,12 +185,12 @@ msgstr " --script-encoding 字符串 指定脚本文件编码名"
#: ../../bin/hawk.c:427 #: ../../bin/hawk.c:427
#, fuzzy #, fuzzy
msgid " --conout-encoding string specify console input encoding name" msgid " --conin-encoding string specify console input encoding name"
msgstr " --console-encoding 字符串 指定控制台编码名" msgstr " --console-encoding 字符串 指定控制台编码名"
#: ../../bin/hawk.c:428 #: ../../bin/hawk.c:428
#, fuzzy #, fuzzy
msgid " --conin-encoding string specify console output encoding name" msgid " --conout-encoding string specify console output encoding name"
msgstr " --console-encoding 字符串 指定控制台编码名" msgstr " --console-encoding 字符串 指定控制台编码名"
#: ../../bin/hawk.c:431 #: ../../bin/hawk.c:431
@@ -972,3 +972,8 @@ msgstr "选择器无效"
#: ../../lib/err.c:227 #: ../../lib/err.c:227
msgid "unknown error" msgid "unknown error"
msgstr "未知错误" msgstr "未知错误"
#, fuzzy
#~ msgid ""
#~ " --conin-encoding string specify console output encoding name"
#~ msgstr " --console-encoding 字符串 指定控制台编码名"
+2 -2
View File
@@ -424,8 +424,8 @@ static void print_usage (FILE* out, const hawk_bch_t* argv0, const hawk_bch_t* r
#if defined(HAWK_OOCH_IS_UCH) #if defined(HAWK_OOCH_IS_UCH)
fprintf(out, "%s\n", _(" --script-encoding string specify script file encoding name")); fprintf(out, "%s\n", _(" --script-encoding string specify script file encoding name"));
fprintf(out, "%s\n", _(" --conout-encoding string specify console input encoding name")); fprintf(out, "%s\n", _(" --conin-encoding string specify console input encoding name"));
fprintf(out, "%s\n", _(" --conin-encoding string specify console output encoding name")); fprintf(out, "%s\n", _(" --conout-encoding string specify console output encoding name"));
#endif #endif
fprintf(out, "%s\n", _(" -I/--includedirs string specify directories to look for include files in")); fprintf(out, "%s\n", _(" -I/--includedirs string specify directories to look for include files in"));
+3 -3
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-04 15:11+0900\n" "POT-Creation-Date: 2026-04-10 23:03+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -184,11 +184,11 @@ msgid " --script-encoding string specify script file encoding name"
msgstr "" msgstr ""
#: ../../bin/hawk.c:427 #: ../../bin/hawk.c:427
msgid " --conout-encoding string specify console input encoding name" msgid " --conin-encoding string specify console input encoding name"
msgstr "" msgstr ""
#: ../../bin/hawk.c:428 #: ../../bin/hawk.c:428
msgid " --conin-encoding string specify console output encoding name" msgid " --conout-encoding string specify console output encoding name"
msgstr "" msgstr ""
#: ../../bin/hawk.c:431 #: ../../bin/hawk.c:431
Vendored
+70
View File
@@ -882,6 +882,7 @@ with_sysroot
enable_libtool_lock enable_libtool_lock
enable_largefile enable_largefile
enable_wide_char enable_wide_char
enable_cmgrs
with_langdir with_langdir
with_homelangdir with_homelangdir
enable_debug enable_debug
@@ -1564,6 +1565,9 @@ Optional Features:
--enable-wide-char Use the wide-character type as the default character --enable-wide-char Use the wide-character type as the default character
type. one of yes, no, yes:2, yes:2w, yes:4, yes:4w, type. one of yes, no, yes:2, yes:2w, yes:4, yes:4w,
no:2, no:2w, no:4, no:4w (default. yes) no:2, no:2w, no:4, no:4w (default. yes)
--enable-cmgrs Enable selected text encodings (yes for all or
yes:comma-separated-encoding-names(e.g.
yes:big5,ksc5601,gbx) (default. yes)
--enable-debug compile the code in the debug mode (default. no) --enable-debug compile the code in the debug mode (default. no)
--enable-intmax use hawk_intmax_t for integers (default. no) --enable-intmax use hawk_intmax_t for integers (default. no)
--enable-fltmax use hawk_fltmax_t for floating-point numbers --enable-fltmax use hawk_fltmax_t for floating-point numbers
@@ -21555,6 +21559,61 @@ fi
;; ;;
esac esac
# Check whether --enable-cmgrs was given.
if test ${enable_cmgrs+y}
then :
enableval=$enable_cmgrs; enable_cmgrs=$enableval
else case e in #(
e) enable_cmgrs=yes
;;
esac
fi
cmgr_header_defines=""
case "${enable_cmgrs}" in
yes)
printf "%s\n" "#define HAWK_ENABLE_CMGR_ALL 1" >>confdefs.h
;;
yes:*)
cmgr_list=`expr "x${enable_cmgrs}" : 'xyes:\(.*\)'`
if test -z "${cmgr_list}"
then
as_fn_error $? "--enable-cmgrs=yes: requires a comma-separated list after ':'" "$LINENO" 5
fi
cmgr_save_ifs=$IFS
IFS=','
for cmgr_item in ${cmgr_list}
do
IFS=$cmgr_save_ifs
if test -z "${cmgr_item}"
then
as_fn_error $? "--enable-cmgrs contains an empty name" "$LINENO" 5
fi
cmgr_uc=`echo "${cmgr_item}" | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
case "${cmgr_uc}" in
*!A-Z0-9_*)
as_fn_error $? "invalid cmgr name '${cmgr_item}' in --enable-cmgrs" "$LINENO" 5
;;
esac
cmgr_header_defines="${cmgr_header_defines}
#define HAWK_ENABLE_CMGR_${cmgr_uc} 1"
IFS=','
done
IFS=$cmgr_save_ifs
;;
no)
;;
*)
as_fn_error $? "unsupported value '${enable_cmgrs}' for --enable-cmgrs" "$LINENO" 5
;;
esac
# Check whether --with-langdir was given. # Check whether --with-langdir was given.
if test ${with_langdir+y} if test ${with_langdir+y}
@@ -29411,6 +29470,9 @@ printf "%s\n" "#define HAWK_CONFIGURE_ARGS \"$ac_configure_args\"" >>confdefs.h
printf "%s\n" "#define HAWK_CONFIGURE_CMD \"$hawk_configure_cmd\"" >>confdefs.h printf "%s\n" "#define HAWK_CONFIGURE_CMD \"$hawk_configure_cmd\"" >>confdefs.h
ac_config_commands="$ac_config_commands cmgr-defines"
ac_config_files="$ac_config_files Makefile tools/Makefile lib/Makefile mod/Makefile bin/Makefile samples/Makefile t/Makefile pkgs/hawk.spec" ac_config_files="$ac_config_files Makefile tools/Makefile lib/Makefile mod/Makefile bin/Makefile samples/Makefile t/Makefile pkgs/hawk.spec"
@@ -30643,6 +30705,7 @@ fi
cmgr_header_defines="$cmgr_header_defines"
_ACEOF _ACEOF
@@ -30655,6 +30718,7 @@ do
"lib/hawk-cfg.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/hawk-cfg.h" ;; "lib/hawk-cfg.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/hawk-cfg.h" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"cmgr-defines") CONFIG_COMMANDS="$CONFIG_COMMANDS cmgr-defines" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
@@ -32069,6 +32133,12 @@ compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
# ### END LIBTOOL TAG CONFIG: CXX # ### END LIBTOOL TAG CONFIG: CXX
_LT_EOF _LT_EOF
;;
"cmgr-defines":C)
if test -n "$cmgr_header_defines"
then
printf '%s\n' "$cmgr_header_defines" >> lib/hawk-cfg.h
fi
;; ;;
esac esac
+58
View File
@@ -183,6 +183,56 @@ yes*)
;; ;;
esac esac
dnl ===== enable-cmgrs =====
AC_ARG_ENABLE([cmgrs],
[AS_HELP_STRING([--enable-cmgrs],[Enable selected text encodings (yes for all or yes:comma-separated-encoding-names(e.g. yes:big5,ksc5601,gbx) (default. yes)])],
enable_cmgrs=$enableval,
enable_cmgrs=yes
)
cmgr_header_defines=""
case "${enable_cmgrs}" in
yes)
AC_DEFINE([HAWK_ENABLE_CMGR_ALL], [1], [enable all character manager tables])
;;
yes:*)
cmgr_list=`expr "x${enable_cmgrs}" : 'xyes:\(.*\)'`
if test -z "${cmgr_list}"
then
AC_MSG_ERROR([--enable-cmgrs=yes: requires a comma-separated list after ':'])
fi
cmgr_save_ifs=$IFS
IFS=','
for cmgr_item in ${cmgr_list}
do
IFS=$cmgr_save_ifs
if test -z "${cmgr_item}"
then
AC_MSG_ERROR([--enable-cmgrs contains an empty name])
fi
cmgr_uc=`echo "${cmgr_item}" | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
case "${cmgr_uc}" in
*[!A-Z0-9_]*)
AC_MSG_ERROR([invalid cmgr name '${cmgr_item}' in --enable-cmgrs])
;;
esac
cmgr_header_defines="${cmgr_header_defines}
#define HAWK_ENABLE_CMGR_${cmgr_uc} 1"
IFS=','
done
IFS=$cmgr_save_ifs
;;
no)
;;
*)
AC_MSG_ERROR([unsupported value '${enable_cmgrs}' for --enable-cmgrs])
;;
esac
dnl ===== with-langdir =====
AC_ARG_WITH([langdir], AC_ARG_WITH([langdir],
[AS_HELP_STRING([--with-langdir=DIR], [Specify the location of the language files (default. DATADIR/PACKAGE/lang)])], [AS_HELP_STRING([--with-langdir=DIR], [Specify the location of the language files (default. DATADIR/PACKAGE/lang)])],
[LANGDIR=$withval], [LANGDIR=$withval],
@@ -190,6 +240,7 @@ AC_ARG_WITH([langdir],
) )
AC_SUBST(LANGDIR) AC_SUBST(LANGDIR)
dnl ===== with-homelangdir =====
AC_ARG_WITH([homelangdir], AC_ARG_WITH([homelangdir],
[AS_HELP_STRING([--with-homelangdir=DIR], [Specify the location of the user-specific language files parked under the home directory (default. /.local/PACKAGE/lang)])], [AS_HELP_STRING([--with-homelangdir=DIR], [Specify the location of the user-specific language files parked under the home directory (default. /.local/PACKAGE/lang)])],
[HOMELANGDIR=$withval], [HOMELANGDIR=$withval],
@@ -1052,6 +1103,13 @@ fi
AC_DEFINE_UNQUOTED(HAWK_CONFIGURE_ARGS, ["$ac_configure_args"], [configure arguments]) AC_DEFINE_UNQUOTED(HAWK_CONFIGURE_ARGS, ["$ac_configure_args"], [configure arguments])
AC_DEFINE_UNQUOTED(HAWK_CONFIGURE_CMD, ["$hawk_configure_cmd"], [configure command]) AC_DEFINE_UNQUOTED(HAWK_CONFIGURE_CMD, ["$hawk_configure_cmd"], [configure command])
AC_CONFIG_COMMANDS([cmgr-defines], [
if test -n "$cmgr_header_defines"
then
printf '%s\n' "$cmgr_header_defines" >> lib/hawk-cfg.h
fi
], [cmgr_header_defines="$cmgr_header_defines"])
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
+6
View File
@@ -90,6 +90,8 @@ pkglib_LTLIBRARIES = libhawk.la
libhawk_la_SOURCES = \ libhawk_la_SOURCES = \
$(pkginclude_HEADERS) \ $(pkginclude_HEADERS) \
arr.c \ arr.c \
big5.c \
big5.h \
chr.c \ chr.c \
cut-prv.h \ cut-prv.h \
cut.c \ cut.c \
@@ -103,6 +105,8 @@ libhawk_la_SOURCES = \
fmt.c \ fmt.c \
fnc-prv.h \ fnc-prv.h \
fnc.c \ fnc.c \
gbk.c \
gbk.h \
gem.c \ gem.c \
gem-glob.c \ gem-glob.c \
gem-nwif.c \ gem-nwif.c \
@@ -111,6 +115,8 @@ libhawk_la_SOURCES = \
hawk.c \ hawk.c \
htb.c \ htb.c \
idmap-imp.h \ idmap-imp.h \
jis0208.c \
jis0208.h \
json.c \ json.c \
json-prv.h \ json-prv.h \
ksc5601.c \ ksc5601.c \
+87 -55
View File
@@ -258,27 +258,28 @@ am__libhawk_la_SOURCES_DIST = hawk.h hawk-arr.h hawk-chr.h hawk-cli.h \
hawk-map.h hawk-mtx.h hawk-rbt.h hawk-pac1.h hawk-pio.h \ hawk-map.h hawk-mtx.h hawk-rbt.h hawk-pac1.h hawk-pio.h \
hawk-po.h hawk-skad.h hawk-utl.h hawk-sed.h hawk-sio.h \ hawk-po.h hawk-skad.h hawk-utl.h hawk-sed.h hawk-sio.h \
hawk-str.h hawk-tio.h hawk-tre.h hawk-upac.h hawk-xma.h \ hawk-str.h hawk-tio.h hawk-tre.h hawk-upac.h hawk-xma.h \
Hawk.hpp Hawk-Sed.hpp arr.c chr.c cut-prv.h cut.c dir.c \ Hawk.hpp Hawk-Sed.hpp arr.c big5.c big5.h chr.c cut-prv.h \
ecs-imp.h ecs.c err-prv.h err.c err-sys.c fmt-imp.h fmt.c \ cut.c dir.c ecs-imp.h ecs.c err-prv.h err.c err-sys.c \
fnc-prv.h fnc.c gem.c gem-glob.c gem-nwif.c gem-nwif2.c \ fmt-imp.h fmt.c fnc-prv.h fnc.c gbk.c gbk.h gem.c gem-glob.c \
hawk-prv.h hawk.c htb.c idmap-imp.h json.c json-prv.h \ gem-nwif.c gem-nwif2.c hawk-prv.h hawk.c htb.c idmap-imp.h \
ksc5601.c ksc5601.h mb8.c misc-imp.h misc-prv.h misc.c \ jis0208.c jis0208.h json.c json-prv.h ksc5601.c ksc5601.h mb8.c misc-imp.h \
parse-prv.h parse.c po-cat.c rbt.c rec.c rio-prv.h rio.c \ misc-prv.h misc.c parse-prv.h parse.c po-cat.c rbt.c rec.c \
run-prv.h run.c sed-prv.h sed.c skad-prv.h skad.c tre-prv.h \ rio-prv.h rio.c run-prv.h run.c sed-prv.h sed.c skad-prv.h \
tre-ast.c tre-ast.h tre-compile.c tre-compile.h tre-match-bt.c \ skad.c tre-prv.h tre-ast.c tre-ast.h tre-compile.c \
tre-match-pa.c tre-match-ut.h tre-mem.c tre-mem.h tre-parse.c \ tre-compile.h tre-match-bt.c tre-match-pa.c tre-match-ut.h \
tre-parse.h tre-stack.h tre-stack.c tre.c tree-prv.h tree.c \ tre-mem.c tre-mem.h tre-parse.c tre-parse.h tre-stack.h \
uch-prop.h uch-case.h utf16.c utf8.c utl-ass.c utl-cmgr.c \ tre-stack.c tre.c tree-prv.h tree.c uch-prop.h uch-case.h \
utl-rnd.c utl-sort.c utl-str.c utl-sys.c utl-xstr.c utl.c \ utf16.c utf8.c utl-ass.c utl-cmgr.c utl-rnd.c utl-sort.c \
val-prv.h val.c xma.c cli-imp.h cli.c fio.c mtx.c pio.c sio.c \ utl-str.c utl-sys.c utl-xstr.c utl.c val-prv.h val.c xma.c \
syscall.h tio.c std.c std-cut.c std-json.c std-sed.c Hawk.cpp \ cli-imp.h cli.c fio.c mtx.c pio.c sio.c syscall.h tio.c std.c \
Std.cpp Sed.cpp Std-Sed.cpp mod-hawk.c mod-hawk.h mod-math.c \ std-cut.c std-json.c std-sed.c Hawk.cpp Std.cpp Sed.cpp \
mod-math.h mod-str.c mod-str.h mod-sys.c mod-sys.h \ Std-Sed.cpp mod-hawk.c mod-hawk.h mod-math.c mod-math.h \
../mod/mod-ffi.c ../mod/mod-ffi.h ../mod/mod-memc.c \ mod-str.c mod-str.h mod-sys.c mod-sys.h ../mod/mod-ffi.c \
../mod/mod-memc.h ../mod/mod-mysql.c ../mod/mod-mysql.h \ ../mod/mod-ffi.h ../mod/mod-memc.c ../mod/mod-memc.h \
../mod/mod-json.c ../mod/mod-json.h ../mod/mod-sqlite.c \ ../mod/mod-mysql.c ../mod/mod-mysql.h ../mod/mod-json.c \
../mod/mod-sqlite.h ../mod/mod-sed.c ../mod/mod-sed.h \ ../mod/mod-json.h ../mod/mod-sqlite.c ../mod/mod-sqlite.h \
../mod/mod-uci.c ../mod/mod-uci.h ../mod/mod-sed.c ../mod/mod-sed.h ../mod/mod-uci.c \
../mod/mod-uci.h
am__objects_1 = am__objects_1 =
am__objects_2 = $(am__objects_1) am__objects_2 = $(am__objects_1)
@ENABLE_CXX_TRUE@am__objects_3 = libhawk_la-Hawk.lo libhawk_la-Std.lo \ @ENABLE_CXX_TRUE@am__objects_3 = libhawk_la-Hawk.lo libhawk_la-Std.lo \
@@ -302,20 +303,22 @@ am__dirstamp = $(am__leading_dot)dirstamp
@ENABLE_MOD_UCI_STATIC_TRUE@am__objects_11 = \ @ENABLE_MOD_UCI_STATIC_TRUE@am__objects_11 = \
@ENABLE_MOD_UCI_STATIC_TRUE@ ../mod/libhawk_la-mod-uci.lo @ENABLE_MOD_UCI_STATIC_TRUE@ ../mod/libhawk_la-mod-uci.lo
am_libhawk_la_OBJECTS = $(am__objects_2) libhawk_la-arr.lo \ am_libhawk_la_OBJECTS = $(am__objects_2) libhawk_la-arr.lo \
libhawk_la-chr.lo libhawk_la-cut.lo libhawk_la-dir.lo \ libhawk_la-big5.lo libhawk_la-chr.lo libhawk_la-cut.lo \
libhawk_la-ecs.lo libhawk_la-err.lo libhawk_la-err-sys.lo \ libhawk_la-dir.lo libhawk_la-ecs.lo libhawk_la-err.lo \
libhawk_la-fmt.lo libhawk_la-fnc.lo libhawk_la-gem.lo \ libhawk_la-err-sys.lo libhawk_la-fmt.lo libhawk_la-fnc.lo \
libhawk_la-gem-glob.lo libhawk_la-gem-nwif.lo \ libhawk_la-gbk.lo libhawk_la-gem.lo libhawk_la-gem-glob.lo \
libhawk_la-gem-nwif2.lo libhawk_la-hawk.lo libhawk_la-htb.lo \ libhawk_la-gem-nwif.lo libhawk_la-gem-nwif2.lo \
libhawk_la-json.lo libhawk_la-ksc5601.lo libhawk_la-mb8.lo \ libhawk_la-hawk.lo libhawk_la-htb.lo libhawk_la-jis0208.lo \
libhawk_la-misc.lo libhawk_la-parse.lo libhawk_la-po-cat.lo \ libhawk_la-json.lo \
libhawk_la-rbt.lo libhawk_la-rec.lo libhawk_la-rio.lo \ libhawk_la-ksc5601.lo libhawk_la-mb8.lo libhawk_la-misc.lo \
libhawk_la-run.lo libhawk_la-sed.lo libhawk_la-skad.lo \ libhawk_la-parse.lo libhawk_la-po-cat.lo libhawk_la-rbt.lo \
libhawk_la-tre-ast.lo libhawk_la-tre-compile.lo \ libhawk_la-rec.lo libhawk_la-rio.lo libhawk_la-run.lo \
libhawk_la-tre-match-bt.lo libhawk_la-tre-match-pa.lo \ libhawk_la-sed.lo libhawk_la-skad.lo libhawk_la-tre-ast.lo \
libhawk_la-tre-mem.lo libhawk_la-tre-parse.lo \ libhawk_la-tre-compile.lo libhawk_la-tre-match-bt.lo \
libhawk_la-tre-stack.lo libhawk_la-tre.lo libhawk_la-tree.lo \ libhawk_la-tre-match-pa.lo libhawk_la-tre-mem.lo \
libhawk_la-utf16.lo libhawk_la-utf8.lo libhawk_la-utl-ass.lo \ libhawk_la-tre-parse.lo libhawk_la-tre-stack.lo \
libhawk_la-tre.lo libhawk_la-tree.lo libhawk_la-utf16.lo \
libhawk_la-utf8.lo libhawk_la-utl-ass.lo \
libhawk_la-utl-cmgr.lo libhawk_la-utl-rnd.lo \ libhawk_la-utl-cmgr.lo libhawk_la-utl-rnd.lo \
libhawk_la-utl-sort.lo libhawk_la-utl-str.lo \ libhawk_la-utl-sort.lo libhawk_la-utl-str.lo \
libhawk_la-utl-sys.lo libhawk_la-utl-xstr.lo libhawk_la-utl.lo \ libhawk_la-utl-sys.lo libhawk_la-utl-xstr.lo libhawk_la-utl.lo \
@@ -354,12 +357,13 @@ am__depfiles_remade = ../mod/$(DEPDIR)/libhawk_la-mod-ffi.Plo \
./$(DEPDIR)/libhawk_la-Hawk.Plo ./$(DEPDIR)/libhawk_la-Sed.Plo \ ./$(DEPDIR)/libhawk_la-Hawk.Plo ./$(DEPDIR)/libhawk_la-Sed.Plo \
./$(DEPDIR)/libhawk_la-Std-Sed.Plo \ ./$(DEPDIR)/libhawk_la-Std-Sed.Plo \
./$(DEPDIR)/libhawk_la-Std.Plo ./$(DEPDIR)/libhawk_la-arr.Plo \ ./$(DEPDIR)/libhawk_la-Std.Plo ./$(DEPDIR)/libhawk_la-arr.Plo \
./$(DEPDIR)/libhawk_la-chr.Plo ./$(DEPDIR)/libhawk_la-cli.Plo \ ./$(DEPDIR)/libhawk_la-big5.Plo ./$(DEPDIR)/libhawk_la-chr.Plo \
./$(DEPDIR)/libhawk_la-cut.Plo ./$(DEPDIR)/libhawk_la-dir.Plo \ ./$(DEPDIR)/libhawk_la-cli.Plo ./$(DEPDIR)/libhawk_la-cut.Plo \
./$(DEPDIR)/libhawk_la-ecs.Plo \ ./$(DEPDIR)/libhawk_la-dir.Plo ./$(DEPDIR)/libhawk_la-ecs.Plo \
./$(DEPDIR)/libhawk_la-err-sys.Plo \ ./$(DEPDIR)/libhawk_la-err-sys.Plo \
./$(DEPDIR)/libhawk_la-err.Plo ./$(DEPDIR)/libhawk_la-fio.Plo \ ./$(DEPDIR)/libhawk_la-err.Plo ./$(DEPDIR)/libhawk_la-fio.Plo \
./$(DEPDIR)/libhawk_la-fmt.Plo ./$(DEPDIR)/libhawk_la-fnc.Plo \ ./$(DEPDIR)/libhawk_la-fmt.Plo ./$(DEPDIR)/libhawk_la-fnc.Plo \
./$(DEPDIR)/libhawk_la-gbk.Plo \
./$(DEPDIR)/libhawk_la-gem-glob.Plo \ ./$(DEPDIR)/libhawk_la-gem-glob.Plo \
./$(DEPDIR)/libhawk_la-gem-nwif.Plo \ ./$(DEPDIR)/libhawk_la-gem-nwif.Plo \
./$(DEPDIR)/libhawk_la-gem-nwif2.Plo \ ./$(DEPDIR)/libhawk_la-gem-nwif2.Plo \
@@ -697,23 +701,24 @@ pkginclude_HEADERS = hawk.h hawk-arr.h hawk-chr.h hawk-cli.h \
hawk-str.h hawk-tio.h hawk-tre.h hawk-upac.h hawk-xma.h \ hawk-str.h hawk-tio.h hawk-tre.h hawk-upac.h hawk-xma.h \
$(am__append_7) $(am__append_7)
pkglib_LTLIBRARIES = libhawk.la $(am__append_11) pkglib_LTLIBRARIES = libhawk.la $(am__append_11)
libhawk_la_SOURCES = $(pkginclude_HEADERS) arr.c chr.c cut-prv.h cut.c \ libhawk_la_SOURCES = $(pkginclude_HEADERS) arr.c big5.c big5.h chr.c \
dir.c ecs-imp.h ecs.c err-prv.h err.c err-sys.c fmt-imp.h \ cut-prv.h cut.c dir.c ecs-imp.h ecs.c err-prv.h err.c \
fmt.c fnc-prv.h fnc.c gem.c gem-glob.c gem-nwif.c gem-nwif2.c \ err-sys.c fmt-imp.h fmt.c fnc-prv.h fnc.c gbk.c gbk.h gem.c \
hawk-prv.h hawk.c htb.c idmap-imp.h json.c json-prv.h \ gem-glob.c gem-nwif.c gem-nwif2.c hawk-prv.h hawk.c htb.c \
ksc5601.c ksc5601.h mb8.c misc-imp.h misc-prv.h misc.c \ idmap-imp.h jis0208.c jis0208.h json.c json-prv.h ksc5601.c ksc5601.h mb8.c \
parse-prv.h parse.c po-cat.c rbt.c rec.c rio-prv.h rio.c \ misc-imp.h misc-prv.h misc.c parse-prv.h parse.c po-cat.c \
run-prv.h run.c sed-prv.h sed.c skad-prv.h skad.c tre-prv.h \ rbt.c rec.c rio-prv.h rio.c run-prv.h run.c sed-prv.h sed.c \
tre-ast.c tre-ast.h tre-compile.c tre-compile.h tre-match-bt.c \ skad-prv.h skad.c tre-prv.h tre-ast.c tre-ast.h tre-compile.c \
tre-match-pa.c tre-match-ut.h tre-mem.c tre-mem.h tre-parse.c \ tre-compile.h tre-match-bt.c tre-match-pa.c tre-match-ut.h \
tre-parse.h tre-stack.h tre-stack.c tre.c tree-prv.h tree.c \ tre-mem.c tre-mem.h tre-parse.c tre-parse.h tre-stack.h \
uch-prop.h uch-case.h utf16.c utf8.c utl-ass.c utl-cmgr.c \ tre-stack.c tre.c tree-prv.h tree.c uch-prop.h uch-case.h \
utl-rnd.c utl-sort.c utl-str.c utl-sys.c utl-xstr.c utl.c \ utf16.c utf8.c utl-ass.c utl-cmgr.c utl-rnd.c utl-sort.c \
val-prv.h val.c xma.c cli-imp.h cli.c fio.c mtx.c pio.c sio.c \ utl-str.c utl-sys.c utl-xstr.c utl.c val-prv.h val.c xma.c \
syscall.h tio.c std.c std-cut.c std-json.c std-sed.c \ cli-imp.h cli.c fio.c mtx.c pio.c sio.c syscall.h tio.c std.c \
$(am__append_8) $(am__append_9) $(am__append_12) \ std-cut.c std-json.c std-sed.c $(am__append_8) $(am__append_9) \
$(am__append_14) $(am__append_16) $(am__append_19) \ $(am__append_12) $(am__append_14) $(am__append_16) \
$(am__append_20) $(am__append_22) $(am__append_23) $(am__append_19) $(am__append_20) $(am__append_22) \
$(am__append_23)
libhawk_la_CPPFLAGS = $(CPPFLAGS_ALL_COMMON) $(CPPFLAGS_PFMOD) \ libhawk_la_CPPFLAGS = $(CPPFLAGS_ALL_COMMON) $(CPPFLAGS_PFMOD) \
$(am__append_3) $(am__append_17) $(am__append_3) $(am__append_17)
libhawk_la_CFLAGS = $(CFLAGS_ALL_COMMON) libhawk_la_CFLAGS = $(CFLAGS_ALL_COMMON)
@@ -905,6 +910,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-Std-Sed.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-Std-Sed.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-Std.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-Std.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-arr.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-arr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-big5.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-chr.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-chr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-cli.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-cli.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-cut.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-cut.Plo@am__quote@ # am--include-marker
@@ -915,6 +921,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-fio.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-fio.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-fmt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-fmt.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-fnc.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-fnc.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-gbk.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-gem-glob.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-gem-glob.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-gem-nwif.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-gem-nwif.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-gem-nwif2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhawk_la-gem-nwif2.Plo@am__quote@ # am--include-marker
@@ -1035,6 +1042,13 @@ libhawk_la-arr.lo: arr.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-arr.lo `test -f 'arr.c' || echo '$(srcdir)/'`arr.c @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-arr.lo `test -f 'arr.c' || echo '$(srcdir)/'`arr.c
libhawk_la-big5.lo: big5.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-big5.lo -MD -MP -MF $(DEPDIR)/libhawk_la-big5.Tpo -c -o libhawk_la-big5.lo `test -f 'big5.c' || echo '$(srcdir)/'`big5.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-big5.Tpo $(DEPDIR)/libhawk_la-big5.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='big5.c' object='libhawk_la-big5.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-big5.lo `test -f 'big5.c' || echo '$(srcdir)/'`big5.c
libhawk_la-chr.lo: chr.c libhawk_la-chr.lo: chr.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-chr.lo -MD -MP -MF $(DEPDIR)/libhawk_la-chr.Tpo -c -o libhawk_la-chr.lo `test -f 'chr.c' || echo '$(srcdir)/'`chr.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-chr.lo -MD -MP -MF $(DEPDIR)/libhawk_la-chr.Tpo -c -o libhawk_la-chr.lo `test -f 'chr.c' || echo '$(srcdir)/'`chr.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-chr.Tpo $(DEPDIR)/libhawk_la-chr.Plo @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-chr.Tpo $(DEPDIR)/libhawk_la-chr.Plo
@@ -1091,6 +1105,13 @@ libhawk_la-fnc.lo: fnc.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-fnc.lo `test -f 'fnc.c' || echo '$(srcdir)/'`fnc.c @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-fnc.lo `test -f 'fnc.c' || echo '$(srcdir)/'`fnc.c
libhawk_la-gbk.lo: gbk.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-gbk.lo -MD -MP -MF $(DEPDIR)/libhawk_la-gbk.Tpo -c -o libhawk_la-gbk.lo `test -f 'gbk.c' || echo '$(srcdir)/'`gbk.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-gbk.Tpo $(DEPDIR)/libhawk_la-gbk.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gbk.c' object='libhawk_la-gbk.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-gbk.lo `test -f 'gbk.c' || echo '$(srcdir)/'`gbk.c
libhawk_la-gem.lo: gem.c libhawk_la-gem.lo: gem.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-gem.lo -MD -MP -MF $(DEPDIR)/libhawk_la-gem.Tpo -c -o libhawk_la-gem.lo `test -f 'gem.c' || echo '$(srcdir)/'`gem.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-gem.lo -MD -MP -MF $(DEPDIR)/libhawk_la-gem.Tpo -c -o libhawk_la-gem.lo `test -f 'gem.c' || echo '$(srcdir)/'`gem.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-gem.Tpo $(DEPDIR)/libhawk_la-gem.Plo @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-gem.Tpo $(DEPDIR)/libhawk_la-gem.Plo
@@ -1126,6 +1147,13 @@ libhawk_la-hawk.lo: hawk.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-hawk.lo `test -f 'hawk.c' || echo '$(srcdir)/'`hawk.c @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-hawk.lo `test -f 'hawk.c' || echo '$(srcdir)/'`hawk.c
libhawk_la-jis0208.lo: jis0208.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-jis0208.lo -MD -MP -MF $(DEPDIR)/libhawk_la-jis0208.Tpo -c -o libhawk_la-jis0208.lo `test -f 'jis0208.c' || echo '$(srcdir)/'`jis0208.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-jis0208.Tpo $(DEPDIR)/libhawk_la-jis0208.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='jis0208.c' object='libhawk_la-jis0208.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -c -o libhawk_la-jis0208.lo `test -f 'jis0208.c' || echo '$(srcdir)/'`jis0208.c
libhawk_la-htb.lo: htb.c libhawk_la-htb.lo: htb.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-htb.lo -MD -MP -MF $(DEPDIR)/libhawk_la-htb.Tpo -c -o libhawk_la-htb.lo `test -f 'htb.c' || echo '$(srcdir)/'`htb.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhawk_la_CPPFLAGS) $(CPPFLAGS) $(libhawk_la_CFLAGS) $(CFLAGS) -MT libhawk_la-htb.lo -MD -MP -MF $(DEPDIR)/libhawk_la-htb.Tpo -c -o libhawk_la-htb.lo `test -f 'htb.c' || echo '$(srcdir)/'`htb.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-htb.Tpo $(DEPDIR)/libhawk_la-htb.Plo @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhawk_la-htb.Tpo $(DEPDIR)/libhawk_la-htb.Plo
@@ -1738,6 +1766,7 @@ distclean: distclean-am
-rm -f ./$(DEPDIR)/libhawk_la-Std-Sed.Plo -rm -f ./$(DEPDIR)/libhawk_la-Std-Sed.Plo
-rm -f ./$(DEPDIR)/libhawk_la-Std.Plo -rm -f ./$(DEPDIR)/libhawk_la-Std.Plo
-rm -f ./$(DEPDIR)/libhawk_la-arr.Plo -rm -f ./$(DEPDIR)/libhawk_la-arr.Plo
-rm -f ./$(DEPDIR)/libhawk_la-big5.Plo
-rm -f ./$(DEPDIR)/libhawk_la-chr.Plo -rm -f ./$(DEPDIR)/libhawk_la-chr.Plo
-rm -f ./$(DEPDIR)/libhawk_la-cli.Plo -rm -f ./$(DEPDIR)/libhawk_la-cli.Plo
-rm -f ./$(DEPDIR)/libhawk_la-cut.Plo -rm -f ./$(DEPDIR)/libhawk_la-cut.Plo
@@ -1748,6 +1777,7 @@ distclean: distclean-am
-rm -f ./$(DEPDIR)/libhawk_la-fio.Plo -rm -f ./$(DEPDIR)/libhawk_la-fio.Plo
-rm -f ./$(DEPDIR)/libhawk_la-fmt.Plo -rm -f ./$(DEPDIR)/libhawk_la-fmt.Plo
-rm -f ./$(DEPDIR)/libhawk_la-fnc.Plo -rm -f ./$(DEPDIR)/libhawk_la-fnc.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gbk.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gem-glob.Plo -rm -f ./$(DEPDIR)/libhawk_la-gem-glob.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gem-nwif.Plo -rm -f ./$(DEPDIR)/libhawk_la-gem-nwif.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gem-nwif2.Plo -rm -f ./$(DEPDIR)/libhawk_la-gem-nwif2.Plo
@@ -1861,6 +1891,7 @@ maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/libhawk_la-Std-Sed.Plo -rm -f ./$(DEPDIR)/libhawk_la-Std-Sed.Plo
-rm -f ./$(DEPDIR)/libhawk_la-Std.Plo -rm -f ./$(DEPDIR)/libhawk_la-Std.Plo
-rm -f ./$(DEPDIR)/libhawk_la-arr.Plo -rm -f ./$(DEPDIR)/libhawk_la-arr.Plo
-rm -f ./$(DEPDIR)/libhawk_la-big5.Plo
-rm -f ./$(DEPDIR)/libhawk_la-chr.Plo -rm -f ./$(DEPDIR)/libhawk_la-chr.Plo
-rm -f ./$(DEPDIR)/libhawk_la-cli.Plo -rm -f ./$(DEPDIR)/libhawk_la-cli.Plo
-rm -f ./$(DEPDIR)/libhawk_la-cut.Plo -rm -f ./$(DEPDIR)/libhawk_la-cut.Plo
@@ -1871,6 +1902,7 @@ maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/libhawk_la-fio.Plo -rm -f ./$(DEPDIR)/libhawk_la-fio.Plo
-rm -f ./$(DEPDIR)/libhawk_la-fmt.Plo -rm -f ./$(DEPDIR)/libhawk_la-fmt.Plo
-rm -f ./$(DEPDIR)/libhawk_la-fnc.Plo -rm -f ./$(DEPDIR)/libhawk_la-fnc.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gbk.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gem-glob.Plo -rm -f ./$(DEPDIR)/libhawk_la-gem-glob.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gem-nwif.Plo -rm -f ./$(DEPDIR)/libhawk_la-gem-nwif.Plo
-rm -f ./$(DEPDIR)/libhawk_la-gem-nwif2.Plo -rm -f ./$(DEPDIR)/libhawk_la-gem-nwif2.Plo
+104
View File
@@ -0,0 +1,104 @@
/*
Copyright (c) 2006-2020 Chung, Hyung-Hwan. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "hawk-prv.h"
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_BIG5)
#include "big5.h"
hawk_oow_t hawk_uc_to_big5 (hawk_uch_t uc, hawk_bch_t* bc, hawk_oow_t size)
{
hawk_uint16_t xc;
if (size <= 0) return size + 1;
if (uc <= 0x7F)
{
bc[0] = uc;
return 1;
}
if (uc >= 0x00A2 && uc <= 0x00F7)
xc = uc_to_big5_0[uc - 0x00A2];
else if (uc >= 0x02C7 && uc <= 0x0451)
xc = uc_to_big5_1[uc - 0x02C7];
else if (uc >= 0x2013 && uc <= 0x22BF)
xc = uc_to_big5_2[uc - 0x2013];
else if (uc >= 0x2460 && uc <= 0x2642)
xc = uc_to_big5_3[uc - 0x2460];
else if (uc >= 0x3000 && uc <= 0x3129)
xc = uc_to_big5_4[uc - 0x3000];
else if (uc >= 0x32A3 && uc <= 0x32A3)
xc = uc_to_big5_5[uc - 0x32A3];
else if (uc >= 0x338E && uc <= 0x33D5)
xc = uc_to_big5_6[uc - 0x338E];
else if (uc >= 0x4E00 && uc <= 0x9483)
xc = uc_to_big5_7[uc - 0x4E00];
else if (uc >= 0x9577 && uc <= 0x9FA4)
xc = uc_to_big5_8[uc - 0x9577];
else if (uc >= 0xFA0C && uc <= 0xFA0D)
xc = uc_to_big5_9[uc - 0xFA0C];
else if (uc >= 0xFE30 && uc <= 0xFFFD)
xc = uc_to_big5_10[uc - 0xFE30];
else
return 0;
if (xc == 0) return 0;
if (size <= 1) return size + 1;
bc[0] = (hawk_bchu_t)(xc >> 8);
bc[1] = (hawk_bchu_t)(xc & 0xFF);
return 2;
}
hawk_oow_t hawk_big5_to_uc (const hawk_bch_t* bc, hawk_oow_t size, hawk_uch_t* uc)
{
hawk_uint16_t xc, out;
if (size <= 0) return 0;
xc = (hawk_bchu_t)bc[0];
if (xc < 0x80)
{
*uc = xc;
return 1;
}
if (size <= 1) return 0;
xc = (xc << 8) | (hawk_bchu_t)bc[1];
if (xc >= 0xA140 && xc <= 0xC7FC)
out = big5_to_uc_0[xc - 0xA140];
else if (xc >= 0xC940 && xc <= 0xF9DC)
out = big5_to_uc_1[xc - 0xC940];
else
return 0;
if (out == 0) return 0;
*uc = out;
return 2;
}
#endif
+5115
View File
File diff suppressed because it is too large Load Diff
+99
View File
@@ -0,0 +1,99 @@
/*
Copyright (c) 2006-2020 Chung, Hyung-Hwan. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "hawk-prv.h"
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_GBK)
#include "gbk.h"
hawk_oow_t hawk_uc_to_gbk (hawk_uch_t uc, hawk_bch_t* bc, hawk_oow_t size)
{
hawk_uint16_t gc;
if (size <= 0) return size + 1; /* buffer too small */
if (uc <= 0x7F)
{
bc[0] = uc;
return 1;
}
if (uc == 0x20AC)
{
bc[0] = 0x80;
return 1;
}
if (uc < 0x00A4 || uc > 0xFFE5) return 0;
gc = uc_to_gbk_0[uc - 0x00A4];
if (gc == 0) return 0;
if (gc <= 0x00FF)
{
bc[0] = (hawk_bchu_t)gc;
return 1;
}
if (size <= 1) return size + 1; /* buffer too small */
bc[0] = (hawk_bchu_t)(gc >> 8);
bc[1] = (hawk_bchu_t)(gc & 0xFF);
return 2;
}
hawk_oow_t hawk_gbk_to_uc (const hawk_bch_t* bc, hawk_oow_t size, hawk_uch_t* uc)
{
hawk_uint16_t gc, xc;
if (size <= 0) return 0; /* input too small */
gc = (hawk_bchu_t)bc[0];
if (gc < 0x80)
{
*uc = gc;
return 1;
}
if (gc == 0x80)
{
*uc = 0x20AC;
return 1;
}
if (size <= 1) return 0; /* insufficient input */
gc = (gc << 8) | (hawk_bchu_t)bc[1];
if (gc < 0x8140 || gc > 0xFE4F) return 0;
xc = gbk_to_uc_0[gc - 0x8140];
if (xc == 0) return 0;
*uc = xc;
return 2;
}
#endif
+10828
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -693,6 +693,9 @@
/* configure command */ /* configure command */
#undef HAWK_CONFIGURE_CMD #undef HAWK_CONFIGURE_CMD
/* enable all character manager tables */
#undef HAWK_ENABLE_CMGR_ALL
/* use libltdl when loading a dynamic module */ /* use libltdl when loading a dynamic module */
#undef HAWK_ENABLE_LIBLTDL #undef HAWK_ENABLE_LIBLTDL
+50
View File
@@ -374,6 +374,7 @@ HAWK_EXPORT hawk_oow_t hawk_mb8_to_uc (
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_KSC5601)
HAWK_EXPORT hawk_oow_t hawk_uc_to_ksc5601 ( HAWK_EXPORT hawk_oow_t hawk_uc_to_ksc5601 (
hawk_uch_t uc, hawk_uch_t uc,
hawk_bch_t* ksc5601, hawk_bch_t* ksc5601,
@@ -385,6 +386,55 @@ HAWK_EXPORT hawk_oow_t hawk_ksc5601_to_uc (
hawk_oow_t size, hawk_oow_t size,
hawk_uch_t* uc hawk_uch_t* uc
); );
#endif
/* ------------------------------------------------------------------------- */
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_GBK)
HAWK_EXPORT hawk_oow_t hawk_uc_to_gbk (
hawk_uch_t uc,
hawk_bch_t* gbk,
hawk_oow_t size
);
HAWK_EXPORT hawk_oow_t hawk_gbk_to_uc (
const hawk_bch_t* gbk,
hawk_oow_t size,
hawk_uch_t* uc
);
#endif
/* ------------------------------------------------------------------------- */
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_BIG5)
HAWK_EXPORT hawk_oow_t hawk_uc_to_big5 (
hawk_uch_t uc,
hawk_bch_t* big5,
hawk_oow_t size
);
HAWK_EXPORT hawk_oow_t hawk_big5_to_uc (
const hawk_bch_t* big5,
hawk_oow_t size,
hawk_uch_t* uc
);
#endif
/* ------------------------------------------------------------------------- */
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_JIS0208)
HAWK_EXPORT hawk_oow_t hawk_uc_to_jis0208 (
hawk_uch_t uc,
hawk_bch_t* jis0208,
hawk_oow_t size
);
HAWK_EXPORT hawk_oow_t hawk_jis0208_to_uc (
const hawk_bch_t* jis0208,
hawk_oow_t size,
hawk_uch_t* uc
);
#endif
#if defined(__cplusplus) #if defined(__cplusplus)
} }
+10
View File
@@ -242,7 +242,14 @@ enum hawk_cmgr_id_t
HAWK_CMGR_UTF8, HAWK_CMGR_UTF8,
HAWK_CMGR_UTF16, HAWK_CMGR_UTF16,
HAWK_CMGR_MB8, HAWK_CMGR_MB8,
/* the items below may not be available depending on compile-time
* options. however, these enumerators are retained regarless of
* the options because i want these to remain stable */
HAWK_CMGR_KSC5601, HAWK_CMGR_KSC5601,
HAWK_CMGR_GBK,
HAWK_CMGR_BIG5,
HAWK_CMGR_JIS0208,
}; };
typedef enum hawk_cmgr_id_t hawk_cmgr_id_t; typedef enum hawk_cmgr_id_t hawk_cmgr_id_t;
@@ -623,6 +630,9 @@ HAWK_EXPORT hawk_cmgr_t* hawk_get_cmgr_by_ucstr (
#define hawk_get_utf16_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_UTF16) #define hawk_get_utf16_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_UTF16)
#define hawk_get_mb8_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_MB8) #define hawk_get_mb8_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_MB8)
#define hawk_get_ksc5601_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_KSC5601) #define hawk_get_ksc5601_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_KSC5601)
#define hawk_get_gbk_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_GBK)
#define hawk_get_big5_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_BIG5)
#define hawk_get_jis0208_cmgr() hawk_get_cmgr_by_id(HAWK_CMGR_JIS0208)
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
+104
View File
@@ -0,0 +1,104 @@
/*
Copyright (c) 2006-2020 Chung, Hyung-Hwan. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "hawk-prv.h"
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_JIS0208)
#include "jis0208.h"
hawk_oow_t hawk_uc_to_jis0208 (hawk_uch_t uc, hawk_bch_t* bc, hawk_oow_t size)
{
hawk_uint16_t jc;
if (size <= 0) return size + 1; /* buffer too small */
if (uc <= 0x7F)
{
bc[0] = uc;
return 1;
}
if (uc >= 0x00A1 && uc <= 0x00FF)
jc = uc_to_jis0208_0[uc - 0x00A1];
else if (uc >= 0x0391 && uc <= 0x0451)
jc = uc_to_jis0208_1[uc - 0x0391];
else if (uc >= 0x2010 && uc <= 0x2FFF)
jc = uc_to_jis0208_2[uc - 0x2010];
else if (uc >= 0x3000 && uc <= 0x3FFF)
jc = uc_to_jis0208_3[uc - 0x3000];
else if (uc >= 0x4E00 && uc <= 0x5FFF)
jc = uc_to_jis0208_4[uc - 0x4E00];
else if (uc >= 0x6000 && uc <= 0x6FFF)
jc = uc_to_jis0208_5[uc - 0x6000];
else if (uc >= 0x7000 && uc <= 0x7FFF)
jc = uc_to_jis0208_6[uc - 0x7000];
else if (uc >= 0x8000 && uc <= 0x8FFF)
jc = uc_to_jis0208_7[uc - 0x8000];
else if (uc >= 0x9000 && uc <= 0x9FA0)
jc = uc_to_jis0208_8[uc - 0x9000];
else if (uc >= 0xFF01 && uc <= 0xFFE5)
jc = uc_to_jis0208_9[uc - 0xFF01];
else
return 0; /* not convertable */
if (jc == 0) return 0;
if (size <= 1) return size + 1; /* buffer too small */
bc[0] = (hawk_bchu_t)(jc >> 8);
bc[1] = (hawk_bchu_t)(jc & 0xFF);
return 2;
}
hawk_oow_t hawk_jis0208_to_uc (const hawk_bch_t* bc, hawk_oow_t size, hawk_uch_t* uc)
{
hawk_uint16_t jc, xc;
if (size <= 0) return 0; /* input too small */
if (size >= 2)
{
jc = ((hawk_bchu_t)bc[0] << 8) | (hawk_bchu_t)bc[1];
if (jc >= 0x2121 && jc <= 0x7426)
{
xc = jis0208_to_uc_0[jc - 0x2121];
if (xc != 0)
{
*uc = xc;
return 2;
}
}
}
jc = (hawk_bchu_t)bc[0];
if (jc < 0x80)
{
*uc = jc;
return 1;
}
return 0; /* not convertable */
}
#endif
+5701
View File
File diff suppressed because it is too large Load Diff
+8 -2
View File
@@ -22,14 +22,18 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "hawk-prv.h" #include "hawk-prv.h"
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_KSC5601)
#include "ksc5601.h" #include "ksc5601.h"
hawk_oow_t hawk_uc_to_ksc5601 (hawk_uch_t uc, hawk_bch_t* bc, hawk_oow_t size) hawk_oow_t hawk_uc_to_ksc5601 (hawk_uch_t uc, hawk_bch_t* bc, hawk_oow_t size)
{ {
hawk_uint16_t kc; hawk_uint16_t kc;
if (size <= 0) return 0; /* buffer too small */ if (size <= 0) return size + 1; /* buffer too small */
if (uc <= 0x80) /* 7-bit ascii */ if (uc <= 0x80) /* 7-bit ascii */
{ {
@@ -62,7 +66,7 @@ hawk_oow_t hawk_uc_to_ksc5601 (hawk_uch_t uc, hawk_bch_t* bc, hawk_oow_t size)
else else
return 0; /* not convertable */ return 0; /* not convertable */
if (size <= 1) return 0; /* buffer too small */ if (size <= 1) return size + 1; /* buffer too small */
bc[0] = (hawk_bchu_t)(kc >> 8); bc[0] = (hawk_bchu_t)(kc >> 8);
bc[1] = (hawk_bchu_t)(kc & 0xff); bc[1] = (hawk_bchu_t)(kc & 0xff);
@@ -102,3 +106,5 @@ hawk_oow_t hawk_ksc5601_to_uc (const hawk_bch_t* bc, hawk_oow_t size, hawk_uch_t
return 0; /* not convertable */ return 0; /* not convertable */
} }
#endif
+44 -1
View File
@@ -27,13 +27,45 @@
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
static hawk_oow_t uc_to_unsupp (hawk_uch_t wc, hawk_bch_t* mb8, hawk_oow_t size)
{
return 0; /* illegal character */
}
static hawk_oow_t unsupp_to_uc (const hawk_bch_t* mb8, hawk_oow_t size, hawk_uch_t* wc)
{
return 0; /* illegal sequence */
}
static hawk_cmgr_t builtin_cmgr[] = static hawk_cmgr_t builtin_cmgr[] =
{ {
/* keep the order aligned with hawk_cmgr_id_t values in <hawk-utl.h> */ /* keep the order aligned with hawk_cmgr_id_t values in <hawk-utl.h> */
{ hawk_utf8_to_uc, hawk_uc_to_utf8 }, { hawk_utf8_to_uc, hawk_uc_to_utf8 },
{ hawk_utf16_to_uc, hawk_uc_to_utf16 }, { hawk_utf16_to_uc, hawk_uc_to_utf16 },
{ hawk_mb8_to_uc, hawk_uc_to_mb8 }, { hawk_mb8_to_uc, hawk_uc_to_mb8 },
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_KSC5601)
{ hawk_ksc5601_to_uc, hawk_uc_to_ksc5601 }, { hawk_ksc5601_to_uc, hawk_uc_to_ksc5601 },
#else
/* id is always defined even when disabled.
* we map to the unsupported convert functions */
{ unsupp_to_uc, uc_to_unsupp },
#endif
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_GBK)
{ hawk_gbk_to_uc, hawk_uc_to_gbk },
#else
{ unsupp_to_uc, uc_to_unsupp },
#endif
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_BIG5)
{ hawk_big5_to_uc, hawk_uc_to_big5 },
#else
{ unsupp_to_uc, uc_to_unsupp },
#endif
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_JIS0208)
{ hawk_jis0208_to_uc, hawk_uc_to_jis0208 },
#else
{ unsupp_to_uc, uc_to_unsupp },
#endif
}; };
hawk_cmgr_t* hawk_get_cmgr_by_id (hawk_cmgr_id_t id) hawk_cmgr_t* hawk_get_cmgr_by_id (hawk_cmgr_id_t id)
@@ -50,7 +82,18 @@ static struct
{ "utf8", HAWK_CMGR_UTF8 }, { "utf8", HAWK_CMGR_UTF8 },
{ "utf16", HAWK_CMGR_UTF16 }, { "utf16", HAWK_CMGR_UTF16 },
{ "mb8", HAWK_CMGR_MB8 }, { "mb8", HAWK_CMGR_MB8 },
{ "ksc5601", HAWK_CMGR_KSC5601 } #if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_KSC5601)
{ "ksc5601", HAWK_CMGR_KSC5601 },
#endif
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_GBK)
{ "gbk", HAWK_CMGR_GBK },
#endif
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_BIG5)
{ "big5", HAWK_CMGR_BIG5 },
#endif
#if defined(HAWK_ENABLE_CMGR_ALL) || defined(HAWK_ENABLE_CMGR_JIS0208)
{ "jis0208", HAWK_CMGR_JIS0208 },
#endif
}; };
hawk_cmgr_t* hawk_get_cmgr_by_bcstr (const hawk_bch_t* name) hawk_cmgr_t* hawk_get_cmgr_by_bcstr (const hawk_bch_t* name)
+1
View File
@@ -165,6 +165,7 @@ CFLAGS="${RPM_OPT_FLAGS} -fPIC" CXXFLAGS="${RPM_OPT_FLAGS} -fPIC" ./configure \
--enable-shared=yes \ --enable-shared=yes \
--enable-static-module=yes \ --enable-static-module=yes \
--enable-wide-char="yes:2w" \ --enable-wide-char="yes:2w" \
--enable-cmgrs=yes \
--enable-intmax=no \ --enable-intmax=no \
--enable-fltmax=no \ --enable-fltmax=no \
--enable-cxx=yes \ --enable-cxx=yes \
+13800
View File
File diff suppressed because it is too large Load Diff
+22065
View File
File diff suppressed because it is too large Load Diff
+6942
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -10,7 +10,7 @@ CFLAGS_COMMON =
LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir) LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir)
LIBADD_COMMON = LIBADD_COMMON =
EXTRA_DIST = KSC5601.TXT gen-ksc5601-tabs.hawk EXTRA_DIST = KSC5601.TXT CP936.TXT BIG5.TXT JIS0208.TXT gen-ksc5601-tabs.hawk gen-gbk-tabs.hawk gen-big5-tabs.hawk gen-jis0208-tabs.hawk
noinst_PROGRAMS = uni-case uni-prop noinst_PROGRAMS = uni-case uni-prop
+1 -1
View File
@@ -359,7 +359,7 @@ CPPFLAGS_COMMON = \
CFLAGS_COMMON = CFLAGS_COMMON =
LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir) LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir)
LIBADD_COMMON = LIBADD_COMMON =
EXTRA_DIST = KSC5601.TXT gen-ksc5601-tabs.hawk EXTRA_DIST = KSC5601.TXT CP936.TXT BIG5.TXT JIS0208.TXT gen-ksc5601-tabs.hawk gen-gbk-tabs.hawk gen-big5-tabs.hawk gen-jis0208-tabs.hawk
uni_case_SOURCES = uni-case.c uni_case_SOURCES = uni-case.c
uni_case_CPPFLAGS = $(CPPFLAGS_COMMON) uni_case_CPPFLAGS = $(CPPFLAGS_COMMON)
uni_case_CFLAGS = $(CFLAGS_COMMON) uni_case_CFLAGS = $(CFLAGS_COMMON)
+253
View File
@@ -0,0 +1,253 @@
# Generate the dense Big5 lookup arrays used by lib/big5.c
#
# Usage:
# hawk -f tools/gen-big5-tabs.hawk -- tools/BIG5.TXT
# hawk -f tools/gen-big5-tabs.hawk -- --forward tools/BIG5.TXT
# hawk -f tools/gen-big5-tabs.hawk -- --reverse tools/BIG5.TXT
#
BEGIN {
MODE = "all";
bad = 0;
init_forward_pages();
init_reverse_pages();
parse_args();
}
/^[ \t]*0x[0-9A-Fa-f]+[ \t]+0x[0-9A-Fa-f]+/ {
@local big5, uc;
big5 = parse_hex($1);
uc = parse_hex($2);
if (big5 < 0 || uc < 0) next;
if (big5 >= 0xA140)
add_forward_mapping(big5, uc);
add_reverse_mapping(big5, uc);
}
END {
@local i, first;
if (bad) exit 1;
printf("/* generated by tools/gen-big5-tabs.hawk from %s */\n\n", input_name());
first = 1;
if (MODE == "all" || MODE == "forward")
{
for (i = 1; i <= fwd_page_count; i++)
{
if (!first) printf("\n");
dump_forward_page(i);
first = 0;
}
}
if (MODE == "all" || MODE == "reverse")
{
for (i = 1; i <= rev_page_count; i++)
{
if (!first) printf("\n");
dump_reverse_page(i);
first = 0;
}
}
}
function parse_args()
{
@local i, a;
for (i = 1; i < ARGC; i++)
{
a = ARGV[i];
if (a == "" || substr(a, 1, 2) != "--") continue;
if (a == "--all")
MODE = "all";
else if (a == "--forward")
MODE = "forward";
else if (a == "--reverse")
MODE = "reverse";
else
{
printf("unknown option %s\n", a) > "/dev/stderr";
bad = 1;
}
ARGV[i] = "";
}
}
function input_name()
{
@local i, sep, out;
sep = "";
out = "";
for (i = 1; i < ARGC; i++)
{
if (ARGV[i] == "") continue;
out = out sep ARGV[i];
sep = ", ";
}
return (out != "")? out: "<stdin>";
}
function hex_digit(ch)
{
if (ch >= "0" && ch <= "9") return ch + 0;
if (ch >= "A" && ch <= "F") return 10 + index("ABCDEF", ch) - 1;
if (ch >= "a" && ch <= "f") return 10 + index("abcdef", ch) - 1;
return -1;
}
function parse_hex(s)
{
@local i, n, d;
n = 0;
if (substr(s, 1, 2) == "0x" || substr(s, 1, 2) == "0X")
s = substr(s, 3);
for (i = 1; i <= length(s); i++)
{
d = hex_digit(substr(s, i, 1));
if (d < 0) return -1;
n = n * 16 + d;
}
return n;
}
function init_forward_pages()
{
fwd_page_count = 2;
fwd_page_no[1] = 0;
fwd_name[1] = "big5_to_uc_0";
fwd_from[1] = 0xA140;
fwd_to[1] = 0xC7FC;
fwd_page_no[2] = 1;
fwd_name[2] = "big5_to_uc_1";
fwd_from[2] = 0xC940;
fwd_to[2] = 0xF9DC;
for (i = 1; i <= fwd_page_count; i++)
fwd_len[i] = fwd_to[i] - fwd_from[i] + 1;
}
function init_reverse_pages()
{
rev_page_count = 11;
rev_page_no[1] = 0; rev_name[1] = "uc_to_big5_0"; rev_from[1] = 0x00A2; rev_to[1] = 0x00F7;
rev_page_no[2] = 1; rev_name[2] = "uc_to_big5_1"; rev_from[2] = 0x02C7; rev_to[2] = 0x0451;
rev_page_no[3] = 2; rev_name[3] = "uc_to_big5_2"; rev_from[3] = 0x2013; rev_to[3] = 0x22BF;
rev_page_no[4] = 3; rev_name[4] = "uc_to_big5_3"; rev_from[4] = 0x2460; rev_to[4] = 0x2642;
rev_page_no[5] = 4; rev_name[5] = "uc_to_big5_4"; rev_from[5] = 0x3000; rev_to[5] = 0x3129;
rev_page_no[6] = 5; rev_name[6] = "uc_to_big5_5"; rev_from[6] = 0x32A3; rev_to[6] = 0x32A3;
rev_page_no[7] = 6; rev_name[7] = "uc_to_big5_6"; rev_from[7] = 0x338E; rev_to[7] = 0x33D5;
rev_page_no[8] = 7; rev_name[8] = "uc_to_big5_7"; rev_from[8] = 0x4E00; rev_to[8] = 0x9483;
rev_page_no[9] = 8; rev_name[9] = "uc_to_big5_8"; rev_from[9] = 0x9577; rev_to[9] = 0x9FA4;
rev_page_no[10] = 9; rev_name[10] = "uc_to_big5_9"; rev_from[10] = 0xFA0C; rev_to[10] = 0xFA0D;
rev_page_no[11] = 10; rev_name[11] = "uc_to_big5_10"; rev_from[11] = 0xFE30; rev_to[11] = 0xFFFD;
for (i = 1; i <= rev_page_count; i++)
rev_len[i] = rev_to[i] - rev_from[i] + 1;
}
function add_forward_mapping(big5, uc)
{
@local i, idx, old;
for (i = 1; i <= fwd_page_count; i++)
{
if (big5 < fwd_from[i] || big5 > fwd_to[i]) continue;
idx = big5 - fwd_from[i];
old = fwd_data[i][idx] + 0;
if (old != 0 && old != uc)
{
printf("duplicate forward mapping for 0x%04x: 0x%04x vs 0x%04x\n", big5, old, uc) > "/dev/stderr";
bad = 1;
return;
}
fwd_data[i][idx] = uc;
return;
}
}
function add_reverse_mapping(big5, uc)
{
@local i, idx, old;
for (i = 1; i <= rev_page_count; i++)
{
if (uc < rev_from[i] || uc > rev_to[i]) continue;
idx = uc - rev_from[i];
old = rev_data[i][idx] + 0;
if (old != 0 && old != big5)
{
if (uc == 0xFFFD)
{
rev_data[i][idx] = big5;
return;
}
printf("duplicate reverse mapping for U+%04x: 0x%04x vs 0x%04x\n", uc, old, big5) > "/dev/stderr";
bad = 1;
return;
}
rev_data[i][idx] = big5;
return;
}
}
function dump_dense_array(kind, page, total)
{
@local i, v;
for (i = 0; i < total; i++)
{
if ((i % 9) == 0) printf("\t");
if (kind == "forward")
v = fwd_data[page][i] + 0;
else
v = rev_data[page][i] + 0;
printf("0x%04x", v);
if (i + 1 < total) printf(", ");
if ((i % 9) == 8 || i + 1 >= total)
printf("\n");
}
}
function dump_forward_page(i)
{
printf("/* page %d 0x%04x-0x%04x */\n", fwd_page_no[i], fwd_from[i], fwd_to[i]);
printf("static const hawk_uint16_t %s[] = {\n", fwd_name[i]);
dump_dense_array("forward", i, fwd_len[i]);
printf("};\n");
}
function dump_reverse_page(i)
{
printf("/* page %d 0x%04x-0x%04x */\n", rev_page_no[i], rev_from[i], rev_to[i]);
printf("static const hawk_uint16_t %s[] = {\n", rev_name[i]);
dump_dense_array("reverse", i, rev_len[i]);
printf("};\n");
}
+231
View File
@@ -0,0 +1,231 @@
# Generate the dense GBK lookup arrays used by lib/gbk.c
#
# Usage:
# hawk -f tools/gen-gbk-tabs.hawk -- tools/CP936.TXT
# hawk -f tools/gen-gbk-tabs.hawk -- --forward tools/CP936.TXT
# hawk -f tools/gen-gbk-tabs.hawk -- --reverse tools/CP936.TXT
#
BEGIN {
MODE = "all";
bad = 0;
init_forward_pages();
init_reverse_pages();
parse_args();
}
/^[ \t]*0x[0-9A-Fa-f]+[ \t]+0x[0-9A-Fa-f]+/ {
@local gbk, uc;
gbk = parse_hex($1);
uc = parse_hex($2);
if (gbk < 0 || uc < 0) next;
if (gbk >= 0x8140)
add_forward_mapping(gbk, uc);
if (gbk >= 0x80)
add_reverse_mapping(gbk, uc);
}
END {
@local i, first;
if (bad) exit 1;
printf("/* generated by tools/gen-gbk-tabs.hawk from %s */\n\n", input_name());
first = 1;
if (MODE == "all" || MODE == "forward")
{
for (i = 1; i <= fwd_page_count; i++)
{
if (!first) printf("\n");
dump_forward_page(i);
first = 0;
}
}
if (MODE == "all" || MODE == "reverse")
{
for (i = 1; i <= rev_page_count; i++)
{
if (!first) printf("\n");
dump_reverse_page(i);
first = 0;
}
}
}
function parse_args()
{
@local i, a;
for (i = 1; i < ARGC; i++)
{
a = ARGV[i];
if (a == "" || substr(a, 1, 2) != "--") continue;
if (a == "--all")
MODE = "all";
else if (a == "--forward")
MODE = "forward";
else if (a == "--reverse")
MODE = "reverse";
else
{
printf("unknown option %s\n", a) > "/dev/stderr";
bad = 1;
}
ARGV[i] = "";
}
}
function input_name()
{
@local i, sep, out;
sep = "";
out = "";
for (i = 1; i < ARGC; i++)
{
if (ARGV[i] == "") continue;
out = out sep ARGV[i];
sep = ", ";
}
return (out != "")? out: "<stdin>";
}
function hex_digit(ch)
{
if (ch >= "0" && ch <= "9") return ch + 0;
if (ch >= "A" && ch <= "F") return 10 + index("ABCDEF", ch) - 1;
if (ch >= "a" && ch <= "f") return 10 + index("abcdef", ch) - 1;
return -1;
}
function parse_hex(s)
{
@local i, n, d;
n = 0;
if (substr(s, 1, 2) == "0x" || substr(s, 1, 2) == "0X")
s = substr(s, 3);
for (i = 1; i <= length(s); i++)
{
d = hex_digit(substr(s, i, 1));
if (d < 0) return -1;
n = n * 16 + d;
}
return n;
}
function init_forward_pages()
{
fwd_page_count = 1;
fwd_page_no = @[0];
fwd_name = @["gbk_to_uc_0"];
fwd_from = @[0x8140];
fwd_to = @[0xfe4f];
fwd_len = @[fwd_to[1] - fwd_from[1] + 1];
fwd_data = @[];
}
function init_reverse_pages()
{
rev_page_count = 1;
rev_page_no = @[0];
rev_name = @["uc_to_gbk_0"];
rev_from = @[0x00a4];
rev_to = @[0xffe5];
rev_len = @[rev_to[1] - rev_from[1] + 1];
}
function add_forward_mapping(gbk, uc)
{
@local i, idx, old;
for (i = 1; i <= fwd_page_count; i++)
{
if (gbk < fwd_from[i] || gbk > fwd_to[i]) continue;
idx = gbk - fwd_from[i];
old = fwd_data[i][idx] + 0;
if (old != 0 && old != uc)
{
printf("duplicate forward mapping for 0x%04x: 0x%04x vs 0x%04x\n", gbk, old, uc) > "/dev/stderr";
bad = 1;
return;
}
fwd_data[i][idx] = uc;
return;
}
}
function add_reverse_mapping(gbk, uc)
{
@local i, idx, old;
for (i = 1; i <= rev_page_count; i++)
{
if (uc < rev_from[i] || uc > rev_to[i]) continue;
idx = uc - rev_from[i];
old = rev_data[i][idx] + 0;
if (old != 0 && old != gbk)
{
printf("duplicate reverse mapping for U+%04x: 0x%04x vs 0x%04x\n", uc, old, gbk) > "/dev/stderr";
bad = 1;
return;
}
rev_data[i][idx] = gbk;
return;
}
}
function dump_dense_array(kind, page, total)
{
@local i, v;
for (i = 0; i < total; i++)
{
if ((i % 9) == 0) printf("\t");
if (kind == "forward")
v = fwd_data[page][i] + 0;
else
v = rev_data[page][i] + 0;
printf("0x%04x", v);
if (i + 1 < total) printf(", ");
if ((i % 9) == 8 || i + 1 >= total)
printf("\n");
}
}
function dump_forward_page(i)
{
printf("/* page %d 0x%04x-0x%04x */\n", fwd_page_no[i], fwd_from[i], fwd_to[i]);
printf("static const hawk_uint16_t %s[] = {\n", fwd_name[i]);
dump_dense_array("forward", i, fwd_len[i]);
printf("};\n");
}
function dump_reverse_page(i)
{
printf("/* page %d 0x%04x-0x%04x */\n", rev_page_no[i], rev_from[i], rev_to[i]);
printf("static const hawk_uint16_t %s[] = {\n", rev_name[i]);
dump_dense_array("reverse", i, rev_len[i]);
printf("};\n");
}
+236
View File
@@ -0,0 +1,236 @@
# Generate the dense JIS X 0208 lookup arrays used by lib/jis0208.c
#
# Usage:
# hawk -f tools/gen-jis0208-tabs.hawk -- tools/JIS0208.TXT
# hawk -f tools/gen-jis0208-tabs.hawk -- --forward tools/JIS0208.TXT
# hawk -f tools/gen-jis0208-tabs.hawk -- --reverse tools/JIS0208.TXT
#
BEGIN {
MODE = "all";
bad = 0;
init_forward_pages();
init_reverse_pages();
parse_args();
}
/^[ \t]*0x[0-9A-Fa-f]+[ \t]+0x[0-9A-Fa-f]+[ \t]+0x[0-9A-Fa-f]+/ {
@local jis, uc;
jis = parse_hex($2);
uc = parse_hex($3);
if (jis < 0 || uc < 0) next;
add_forward_mapping(jis, uc);
add_reverse_mapping(jis, uc);
}
END {
@local i, first;
if (bad) exit 1;
printf("/* generated by tools/gen-jis0208-tabs.hawk from %s */\n\n", input_name());
first = 1;
if (MODE == "all" || MODE == "forward")
{
for (i = 1; i <= fwd_page_count; i++)
{
if (!first) printf("\n");
dump_forward_page(i);
first = 0;
}
}
if (MODE == "all" || MODE == "reverse")
{
for (i = 1; i <= rev_page_count; i++)
{
if (!first) printf("\n");
dump_reverse_page(i);
first = 0;
}
}
}
function parse_args()
{
@local i, a;
for (i = 1; i < ARGC; i++)
{
a = ARGV[i];
if (a == "" || substr(a, 1, 2) != "--") continue;
if (a == "--all")
MODE = "all";
else if (a == "--forward")
MODE = "forward";
else if (a == "--reverse")
MODE = "reverse";
else
{
printf("unknown option %s\n", a) > "/dev/stderr";
bad = 1;
}
ARGV[i] = "";
}
}
function input_name()
{
@local i, sep, out;
sep = "";
out = "";
for (i = 1; i < ARGC; i++)
{
if (ARGV[i] == "") continue;
out = out sep ARGV[i];
sep = ", ";
}
return (out != "")? out: "<stdin>";
}
function hex_digit(ch)
{
if (ch >= "0" && ch <= "9") return ch + 0;
if (ch >= "A" && ch <= "F") return 10 + index("ABCDEF", ch) - 1;
if (ch >= "a" && ch <= "f") return 10 + index("abcdef", ch) - 1;
return -1;
}
function parse_hex(s)
{
@local i, n, d;
n = 0;
if (substr(s, 1, 2) == "0x" || substr(s, 1, 2) == "0X")
s = substr(s, 3);
for (i = 1; i <= length(s); i++)
{
d = hex_digit(substr(s, i, 1));
if (d < 0) return -1;
n = n * 16 + d;
}
return n;
}
function init_forward_pages()
{
fwd_page_count = 1;
fwd_page_no[1] = 0;
fwd_name[1] = "jis0208_to_uc_0";
fwd_from[1] = 0x2121;
fwd_to[1] = 0x7426;
fwd_len[1] = fwd_to[1] - fwd_from[1] + 1;
}
function init_reverse_pages()
{
rev_page_count = 10;
rev_page_no[1] = 0; rev_name[1] = "uc_to_jis0208_0"; rev_from[1] = 0x00A1; rev_to[1] = 0x00FF;
rev_page_no[2] = 1; rev_name[2] = "uc_to_jis0208_1"; rev_from[2] = 0x0391; rev_to[2] = 0x0451;
rev_page_no[3] = 2; rev_name[3] = "uc_to_jis0208_2"; rev_from[3] = 0x2010; rev_to[3] = 0x2FFF;
rev_page_no[4] = 3; rev_name[4] = "uc_to_jis0208_3"; rev_from[4] = 0x3000; rev_to[4] = 0x3FFF;
rev_page_no[5] = 4; rev_name[5] = "uc_to_jis0208_4"; rev_from[5] = 0x4E00; rev_to[5] = 0x5FFF;
rev_page_no[6] = 5; rev_name[6] = "uc_to_jis0208_5"; rev_from[6] = 0x6000; rev_to[6] = 0x6FFF;
rev_page_no[7] = 6; rev_name[7] = "uc_to_jis0208_6"; rev_from[7] = 0x7000; rev_to[7] = 0x7FFF;
rev_page_no[8] = 7; rev_name[8] = "uc_to_jis0208_7"; rev_from[8] = 0x8000; rev_to[8] = 0x8FFF;
rev_page_no[9] = 8; rev_name[9] = "uc_to_jis0208_8"; rev_from[9] = 0x9000; rev_to[9] = 0x9FA0;
rev_page_no[10] = 9; rev_name[10] = "uc_to_jis0208_9"; rev_from[10] = 0xFF01; rev_to[10] = 0xFFE5;
for (i = 1; i <= rev_page_count; i++)
rev_len[i] = rev_to[i] - rev_from[i] + 1;
}
function add_forward_mapping(jis, uc)
{
@local i, idx, old;
for (i = 1; i <= fwd_page_count; i++)
{
if (jis < fwd_from[i] || jis > fwd_to[i]) continue;
idx = jis - fwd_from[i];
old = fwd_data[i][idx] + 0;
if (old != 0 && old != uc)
{
printf("duplicate forward mapping for 0x%04x: 0x%04x vs 0x%04x\n", jis, old, uc) > "/dev/stderr";
bad = 1;
return;
}
fwd_data[i][idx] = uc;
return;
}
}
function add_reverse_mapping(jis, uc)
{
@local i, idx, old;
for (i = 1; i <= rev_page_count; i++)
{
if (uc < rev_from[i] || uc > rev_to[i]) continue;
idx = uc - rev_from[i];
old = rev_data[i][idx] + 0;
if (old != 0 && old != jis)
{
printf("duplicate reverse mapping for U+%04x: 0x%04x vs 0x%04x\n", uc, old, jis) > "/dev/stderr";
bad = 1;
return;
}
rev_data[i][idx] = jis;
return;
}
}
function dump_dense_array(kind, page, total)
{
@local i, v;
for (i = 0; i < total; i++)
{
if ((i % 9) == 0) printf("\t");
if (kind == "forward")
v = fwd_data[page][i] + 0;
else
v = rev_data[page][i] + 0;
printf("0x%04x", v);
if (i + 1 < total) printf(", ");
if ((i % 9) == 8 || i + 1 >= total)
printf("\n");
}
}
function dump_forward_page(i)
{
printf("/* page %d 0x%04x-0x%04x */\n", fwd_page_no[i], fwd_from[i], fwd_to[i]);
printf("static const hawk_uint16_t %s[] = {\n", fwd_name[i]);
dump_dense_array("forward", i, fwd_len[i]);
printf("};\n");
}
function dump_reverse_page(i)
{
printf("/* page %d 0x%04x-0x%04x */\n", rev_page_no[i], rev_from[i], rev_to[i]);
printf("static const hawk_uint16_t %s[] = {\n", rev_name[i]);
dump_dense_array("reverse", i, rev_len[i]);
printf("};\n");
}