[ttssh2-commit] [9988] Unicode を ISO8859 に変換できなかった場合 '?' を出力するようにした

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2022年 6月 4日 (土) 22:17:12 JST


Revision: 9988
          https://osdn.net/projects/ttssh2/scm/svn/commits/9988
Author:   zmatsuo
Date:     2022-06-04 22:17:12 +0900 (Sat, 04 Jun 2022)
Log Message:
-----------
Unicode を ISO8859 に変換できなかった場合 '?' を出力するようにした

Modified Paths:
--------------
    trunk/teraterm/teraterm/unicode.cpp
    trunk/teraterm/ttpcmn/ttcmn.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/unicode.cpp
===================================================================
--- trunk/teraterm/teraterm/unicode.cpp	2022-06-04 13:17:02 UTC (rev 9987)
+++ trunk/teraterm/teraterm/unicode.cpp	2022-06-04 13:17:12 UTC (rev 9988)
@@ -380,6 +380,12 @@
 
 /**
  *	Unicode\x82\xA9\x82\xE7ISO8859\x82֕ϊ\xB7
+ *
+ *	@param[in]	part	IS8859\x82̕\x94 1...11,13...16
+ *	@param[in]	u32		Unicode
+ *	@param[out]	*b		ISO8859 char
+ *	@retval		0		\x95ϊ\xB7\x82ł\xAB\x82Ȃ\xA2
+ *	@retval		1		\x95ϊ\xB7\x82ł\xAB\x82\xBD
  */
 int UnicodeToISO8859(int part, unsigned long u32, unsigned char *b)
 {

Modified: trunk/teraterm/ttpcmn/ttcmn.c
===================================================================
--- trunk/teraterm/ttpcmn/ttcmn.c	2022-06-04 13:17:02 UTC (rev 9987)
+++ trunk/teraterm/ttpcmn/ttcmn.c	2022-06-04 13:17:12 UTC (rev 9988)
@@ -1353,6 +1353,10 @@
 		char byte;
 		int part = KanjiCodeToISO8859Part(states->KanjiCode);
 		int r = UnicodeToISO8859(part, u32, &byte);
+		if (r == 0) {
+			// \x95ϊ\xB7\x82ł\xAB\x82Ȃ\xA2\x95\xB6\x8E\x9A\x83R\x81[\x83h\x82\xBE\x82\xC1\x82\xBD
+			byte = '?';
+		}
 		TempStr[TempLen++] = byte;
 	} else {
 		assert(FALSE);


ttssh2-commit メーリングリストの案内
Back to archive index