Development
: K-Meleon Web Browser Forum
K-Meleon development related discussions.
Go to:
Forum List
•
Message List
•
Search
•
Log In
Your Name:
Subject:
Help information
BBcode help
Smileys help
Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
[Please, enable JavaScript to see the code]
Enter code:
[quote=JujuLand] @ www_ngtech_gr I have test it, but I prefer not to use external tool (when possible). Look at what I've done. @ mark307, I have implemented a new aspell version that works without needing an external tool to wait for the end of the operation. But I always have 2 problems with coding: Just one can be treated under K-Meleon: the output used OEM format, and I need a EncodeOEM2UTF8 function. I have found a source which can be simplificated and adapted to make this function. If you can see it. Here is the C source: ----------------------------------------- /* ========================================================================== */ /* */ /* oem2ansi.c */ /* (c) 2001 Author */ /* */ /* Description */ /* */ /* ========================================================================== */ #include <stdio.h> const wchar_t cp437uni[128]={ /* 0x80..0xFF */ 0x00C7,0x00FC,0x00E9,0x00E2,0x00E4,0x00E0,0x00E5,0x00E7, 0x00EA,0x00EB,0x00E8,0x00EF,0x00EE,0x00EC,0x00C4,0x00C5, 0x00C9,0x00E6,0x00C6,0x00F4,0x00F6,0x00F2,0x00FB,0x00F9, 0x00FF,0x00D6,0x00DC,0x00A2,0x00A3,0x00A5,0x20A7,0x0192, 0x00E1,0x00ED,0x00F3,0x00FA,0x00F1,0x00D1,0x00AA,0x00BA, 0x00BF,0x2310,0x00AC,0x00BD,0x00BC,0x00A1,0x00AB,0x00BB, 0x2591,0x2592,0x2593,0x2502,0x2524,0x2561,0x2562,0x2556, 0x2555,0x2563,0x2551,0x2557,0x255D,0x255C,0x255B,0x2510, 0x2514,0x2534,0x252C,0x251C,0x2500,0x253C,0x255E,0x255F, 0x255A,0x2554,0x2569,0x2566,0x2560,0x2550,0x256C,0x2567, 0x2568,0x2564,0x2565,0x2559,0x2558,0x2552,0x2553,0x256B, 0x256A,0x2518,0x250C,0x2588,0x2584,0x258C,0x2590,0x2580, 0x03B1,0x00DF,0x0393,0x03C0,0x03A3,0x03C3,0x03BC,0x03C4, 0x03A6,0x0398,0x03A9,0x03B4,0x221E,0x03C6,0x03B5,0x2229, 0x2261,0x00B1,0x2265,0x2264,0x2320,0x2321,0x00F7,0x2248, 0x00B0,0x2219,0x00B7,0x221A,0x207F,0x00B2,0x25A0,0x00A0}; const wchar_t cp1252uni[32]={ /* 0x80..0x9F */ 0x20AC,0x0020,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021, 0x02C6,0x2030,0x0160,0x2039,0x0152,0x0020,0x017D,0x0020, 0x0020,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014, 0x02DC,0x2122,0x0161,0x203A,0x0153,0x0020,0x017E,0x0178}; void put_utf8(wchar_t c) { /* Code <0x10000 <0x800 <0x80 1. Byte 1110 xxxx 110x xxxx 0xxx xxxx 2. Byte 10xx xxxx 10xx xxxx 3. Byte 10xx xxxx */ if (c<0x80) { putchar(c); }else if (c<0x800) { putchar((c>>6)|0xC0); putchar(c&0x3F|0x80); }else{ putchar((c>>12)|0xE0); putchar((c>>6)&0x3F|0x80); putchar(c&0x3F|0x80); } } /* with no command-line argument, convert CP437 to UTF8, with one (dummy) command-line argument, put this program to a "guess mode", with two (dummy) command-line arguments, inverse guessing reaction, returns 1 if OEM2UTF converted, 2..4 if ANSI2UTF converted, 2..3 if plain ASCII, 0 if not converted but Windows UTF8 header stripped, -1 if conversion from UCS16 to UTF8 (Windows UCS16 header stripped too) */ int main(int argc) { int c; c=getchar(); if (c==0xEF) { /* Windows UTF8 header */ getchar(); /* skip 0xBB */ getchar(); /* skip 0xBF */ argc=0; /* don't convert */ }else if (c==0xFF) { /* Windows UCS16 header */ getchar(); /* skip 0xFE */ argc=-1; /* convert special */ }else goto inloop; while (1) { c=getchar(); inloop: if (c==EOF) break; if (argc<0) { /* UCS16 Intel */ c|=getchar()<<8; }else{ if (c>=0x80) { if (argc==2) { if (c>=0xA6 && c!=0xE1) argc=4; /* ANSI, force convert */ else argc=1; /* OEM, force convert */ }else if (argc==3) { if (c>=0xA6 && c!=0xE1) argc=1; else argc=4; } if (argc==1) c=cp437uni[c-0x80]; if (argc==4 && c<0xA0) c=cp1252uni[c-0x80]; } } if (argc) put_utf8(c); else putchar(c); } return argc; } -------------------------------------------------------------------------- A+[/quote]
[Please Enable JavaScript]
K-Meleon forum is powered by
Phorum
.
Home/News
Screenshots
Download
Documentation
Resources
Get Involved
Forum
FAQ
English