May 17, 2012

Mời thầu: Xuất tiếng Việt xì tin với Unikey

Mời thầu: Xuất tiếng Việt xì tin với Unikey

Yêu cầu chung:

Deadline phát triển: 2012/06/30

Nội dung: Thêm chức năng xuất tiếng Việt với encoding "xì tin" trong Unikey 3.6.2

Chi phí (bounty): (tối đa) 2 triệu đồng (thanh toán 50% sau demo và 50% sau deadline)

Sản phẩm giao nộp:

-        Toàn bộ mã nguồn (khuyến khích dung github)

-        Tệp thực thi, bộ cài (.exe, .msi)

-        Evidence chạy Unikey trên Windows XP và Windows 7

Ghi chú:

-        Ưu tiên sinh viên

-        Cần gửi CV, tự giới thiệu bản than khi bid dự án

-        Dành cho PG đưa ra giá hợp lý nhất và sớm nhất, CV đẹp nhất

Liên hệ "nhà thầu":

Nguyễn Vũ Hưng, email: vuhung16plus@gmail.com, YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16, FB: http://www.facebook.com/nguyenvuhung

Demo luật gõ xì tin:

http://sites.google.com/site/golemesnair/home

Lập trình viên cần: Xem javascript code, bắt chước và implement vào Unikey

Mã nguồn Unikey xì tin mới:

-        Phải dựa trên Unikey 3.6.2

-        http://prdownloads.sourceforge.net/unikey/Uk362src.zip (http://unikey.org/source.php)

Yêu cầu đối với Unikey

(sau khi tích hợp chức năng xuất Tiếng Việt xì tin)

-        Giữ nguyên/không làm ảnh hưởng tới các chức năng cũ của Unikey

-        "Xì tin" encoding hỗ trợ các kiểu gõ có sẵn của Unikey: Telex, VNI

Yêu cầu môi trường

-        Giống Unikey 3.6.2

-        Nghĩa là hỗ trợ Windows 2000, XP, Vista, 7

Phân tích sơ bộ:

Cần thêm encoding Xitin vào file Newkey/encoding.cpp

//////////////////////////////////////////////////////////////////////*/

CharsetInfo CharsetTable[TOTAL_CHARSET] = {

                    {_TEXT("Unicode"),                                                                                                          0x101,         CONV_CHARSET_UNICODE,                    UNICODE_UCS2},

                    {_TEXT("TCVN3 (ABC)"),                                                                                              0,                                     CONV_CHARSET_TCVN3,                                        0},

                    {_TEXT("VNI Windows"),                                                                                               0x102,         CONV_CHARSET_VNIWIN,          0},

                    {_TEXT("VIQR"),                                                                                                                                 0x100,         CONV_CHARSET_VIQR,                                        0},

                    {_TEXT("Vietnamese locale CP 1258"),                0x109,         CONV_CHARSET_WINCP1258,    0},

                    {_TEXT("UTF-8 Literal"),                                                                             0x101,         CONV_CHARSET_UNIUTF8,                    UNICODE_UTF8},

                    {_TEXT("NCR Decimal"),                                                                                                 0x101,         CONV_CHARSET_UNIREF,                    UNICODE_REF},

                    {_TEXT("NCR Hex"),                                                                                                       0x101,                    CONV_CHARSET_UNIREF_HEX,UNICODE_HEX},

                    {_TEXT("Composite Unicode (To hop)"),             0x108,         CONV_CHARSET_UNIDECOMPOSED,          0},

                    {_TEXT("VISCII"),                                                                                                           0x106,         CONV_CHARSET_VISCII,             0},

                    {_TEXT("VPS"),                                                                                                                                   0x104,         CONV_CHARSET_VPS,                                        0},

                    {_TEXT("BK HCM 2"),                                                                                                                        0x103,                    CONV_CHARSET_BKHCM2,        0},

                    {_TEXT("BK HCM 1"),                                                                                                                        0x107,                    CONV_CHARSET_BKHCM1,        0},

                    {_TEXT("Vietware X"),                                                                                 0x105,         CONV_CHARSET_VIETWAREX, 0},

                    {_TEXT("Vietware F"),                                                                                 1,                                     CONV_CHARSET_VIETWAREF,  0},

                    {_TEXT("X UTF-8"),                                                                                                        0x101,         CONV_CHARSET_UNIUTF8,                    UNICODE_UTF8_X},

                    {_TEXT("Unicode C String"),                                                                       0x101,         CONV_CHARSET_UNI_CSTRING, UNICODE_CSTRING}

};

 

Hướng dẫn cách thêm charset mới (Phạm Kim Long)

STEPS TO ADD NEW CHARSETS

 

1. For 1-byte charsets

- Append charset to the end of table MapBD, MapBK, MapBW, MapBT

- Insert charset information into CharsetTable (to any position you like), provide following information:

                    + Charset name

                    + The index of the charset in the table MapBD (the same as in MapBK, MapBW, MapBT)

- Increase TOTAL_CHARSET constant (in keycons.h) by 1 to reflex the number of supported charsets

 

2. For 2-byte charsets

- Append charset to the end of BOTH tables UniVnL (for lowercase), UniVnH (for upper case)

- Insert charset information into CharsetTable (to any position you like), provide following information:

                    + Charset name

                    + The index of the charset in the tables UniVnL (the same as in UniVnH) PLUS 0x101

- Increase TOTAL_CHARSET constant by 1 in keycons.h to reflex the number of supported charsets

 

Unikey Xitin User Interface sẽ như thế nào?

Demo bộ gõ Xitin

No comments: