[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