[29100] trunk/dports/archivers/lha

source_changes at macosforge.org source_changes at macosforge.org
Fri Sep 14 21:32:49 PDT 2007


Revision: 29100
          http://trac.macosforge.org/projects/macports/changeset/29100
Author:   takanori at macports.org
Date:     2007-09-14 21:32:49 -0700 (Fri, 14 Sep 2007)

Log Message:
-----------
Fixed an incorrect character mapping between Unicode and Shift_JIS.
(FYI, this patch will be included in the next release of lha.)
Ticket:	   	 #12560

Modified Paths:
--------------
    trunk/dports/archivers/lha/Portfile

Added Paths:
-----------
    trunk/dports/archivers/lha/files/ConvertUTF8ToEncoding.diff

Modified: trunk/dports/archivers/lha/Portfile
===================================================================
--- trunk/dports/archivers/lha/Portfile	2007-09-15 04:30:06 UTC (rev 29099)
+++ trunk/dports/archivers/lha/Portfile	2007-09-15 04:32:49 UTC (rev 29100)
@@ -3,8 +3,8 @@
 PortSystem 1.0
 name		lha
 version		1.14i-ac20050924p1
-revision    1
-epoch		20061016
+revision    2
+epoch		20070826
 categories	archivers sysutils
 description	Utility for creating and opening lzh archives
 maintainers	jc at crazic.ru
@@ -21,6 +21,7 @@
 checksums	md5 9f52430410928ba4390a73a41a36d56f \
 		sha1 2491c8b584c21759f1d3819f57fa0e1cbc235092 \
 		rmd160 7603dc93d8afdeed6cfbaa193f68ae4283bea39b
+patchfiles	ConvertUTF8ToEncoding.diff
 
 configure.args  --mandir=${prefix}/share/man
 

Added: trunk/dports/archivers/lha/files/ConvertUTF8ToEncoding.diff
===================================================================
--- trunk/dports/archivers/lha/files/ConvertUTF8ToEncoding.diff	                        (rev 0)
+++ trunk/dports/archivers/lha/files/ConvertUTF8ToEncoding.diff	2007-09-15 04:32:49 UTC (rev 29100)
@@ -0,0 +1,51 @@
+Index: src/header.c
+===================================================================
+--- src/header.c	(revision 871)
++++ src/header.c	(working copy)
+@@ -1798,6 +1798,7 @@
+     unsigned long usedByteLen = 0;
+     UniChar uniStr[256];
+     unsigned long cfResult;
++    unsigned int i;
+ 
+     cfResult = CFStringEncodingBytesToUnicode(kCFStringEncodingUTF8,
+                                               flags,
+@@ -1808,6 +1809,38 @@
+                                               255,
+                                               &unicodeChars);
+     if (cfResult == 0) {
++        /* vender-specific character conversion
++           http://www.ingrid.org/java/i18n/unicode.html */
++        for (i=0; i<255; i+=2) {
++            if (uniStr[i] == 0x20 && uniStr[i+1] == 0x3e) {
++                /* OVERLINE -> FULLWIDTH MACRON */
++                uniStr[i] = 0xff; uniStr[i+1] = 0xe3;
++            } else if (uniStr[i] == 0x20 && uniStr[i+1] == 0x14) {
++                /* EM DASH -> HORIZONTAL BAR */
++                uniStr[i] = 0x20; uniStr[i+1] = 0x15;
++            } else if (uniStr[i] == 0x30 && uniStr[i+1] == 0x1c) {
++                /* WAVE DASH -> FULLWIDTH TILDE */
++                uniStr[i] = 0xff; uniStr[i+1] = 0x5e;
++            } else if (uniStr[i] == 0x20 && uniStr[i+1] == 0x16) {
++                /* DOUBLE VERTICAL LINE -> PARALLEL TO */
++                uniStr[i] = 0x22; uniStr[i+1] = 0x25;
++            } else if (uniStr[i] == 0x22 && uniStr[i+1] == 0xef) {
++                /* MIDLINE HORIZONTAL ELLIPSIS -> HORIZONTAL ELLIPSIS */
++                uniStr[i] = 0x20; uniStr[i+1] = 0x26;
++            } else if (uniStr[i] == 0x22 && uniStr[i+1] == 0x12) {
++                /* MINUS SIGN -> FULLWIDTH HYPHEN-MINUS */
++                uniStr[i] = 0xff; uniStr[i+1] = 0x0d;
++            } else if (uniStr[i] == 0x00 && uniStr[i+1] == 0xa2) {
++                /* CENT SIGN -> FULLWIDTH CENT SIGN */
++                uniStr[i] = 0xff; uniStr[i+1] = 0xe0;
++            } else if (uniStr[i] == 0x00 && uniStr[i+1] == 0xa3) {
++                /* POUND SIGN -> FULLWIDTH POUND SIGN */
++                uniStr[i] = 0xff; uniStr[i+1] = 0xe1;
++            } else if (uniStr[i] == 0x00 && uniStr[i+1] == 0xac) {
++                /* NOT SIGN -> FULLWIDTH NOT SIGN */
++                uniStr[i] = 0xff; uniStr[i+1] = 0xe2;
++            }
++        }
+         cfResult = CFStringEncodingUnicodeToBytes(scriptEncoding,
+                                                   flags,
+                                                   uniStr,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070914/8384d161/attachment.html


More information about the macports-changes mailing list