[KoCo-CVS] [Commit] cjkcodecs/src _euc_jp.c
Brought to you by:
perky
From: Hye-Shik C. <pe...@us...> - 2003-07-06 10:30:27
|
perky 03/07/06 03:30:26 Modified: src _euc_jp.c Log: *) EUC-JP codec's mapping for 0xA1C0 is changed from U+005C to U+FF3C because EUC-JP 0x5C is also a REVERSE SOLIDUS and 0xA1C0 is FULLWIDTH REVERSE SOLIDUS on japanese environments. Revision Changes Path 1.4 +6 -3 cjkcodecs/src/_euc_jp.c Index: _euc_jp.c =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/_euc_jp.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- _euc_jp.c 31 May 2003 11:50:19 -0000 1.3 +++ _euc_jp.c 6 Jul 2003 10:30:26 -0000 1.4 @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: _euc_jp.c,v 1.3 2003/05/31 11:50:19 perky Exp $ + * $Id: _euc_jp.c,v 1.4 2003/07/06 10:30:26 perky Exp $ */ #include "codeccommon.h" @@ -73,7 +73,9 @@ (*outbuf)[2] = (Py_UNICODE)(c - 0xe3ac) % 94 + 0xa1; NEXT(1, 3) continue; - } else + } else if (c == 0xff3c) /* F/W REVERSE SOLIDUS (see NOTES.euc-jp) */ + code = 0x2140; + else return 1; if (code & 0x8000) { @@ -143,7 +145,8 @@ c2 = (*inbuf)[1]; if (c < 0xf5) { /* JIS X 0208 */ - TRYMAP_DEC(jisx0208, **outbuf, c ^ 0x80, c2 ^ 0x80); + if (c == 0xa1 && c2 == 0xc0) **outbuf = 0xff3c; + else TRYMAP_DEC(jisx0208, **outbuf, c ^ 0x80, c2 ^ 0x80); else return 2; } else { /* User-defined area 1 */ |