Added Traditional Chinese Support

Fixed sublang font size error when not using fixed-size font.
This commit is contained in:
Jau-Horng Chen 2001-06-25 21:01:00 +00:00 committed by Alexandre Julliard
parent 698ef15b19
commit 8a820bc51a
8 changed files with 346 additions and 33 deletions

205
dlls/commdlg/cdlg_Zh.rc Normal file
View File

@ -0,0 +1,205 @@
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
OPEN_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "開啟"
FONT 8, "Helv"
{
LTEXT "檔案名稱(&N):", 1090, 6, 6, 100, 9
EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
LTEXT "目錄(&D):", -1, 110, 6, 92, 9
LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
LTEXT "檔案類型(&T):", 1089, 6, 104, 90, 9
COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
LTEXT "磁碟機(&V):", 1091, 110, 104, 92, 9
COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
DEFPUSHBUTTON "開啟", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
PUSHBUTTON "取消", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "求助(&H)", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
CHECKBOX "唯讀(&R)", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}
SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "另存新檔..."
FONT 8, "Helv"
{
LTEXT "檔案名稱(&N):", 1090, 6, 6, 76, 9
EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
LTEXT "目錄(&D):", -1, 110, 6, 92, 9
LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
LTEXT "存檔類型(&T):", 1089, 6, 104, 90, 9
COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
LTEXT "磁碟機(&V):", 1091, 110, 104, 92, 9
COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
DEFPUSHBUTTON "另存新檔", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
PUSHBUTTON "取消", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "求助(&H)", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
CHECKBOX "唯讀(&R)", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}
CHOOSE_FONT DIALOG DISCARDABLE 13, 54, 294, 147
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "字型"
FONT 8, "Helv"
{
LTEXT "字型(&F):",1088 ,6,3,40,9
COMBOBOX 1136 ,6,13,124,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
LTEXT "字型樣式(&Y):",1089 ,138,3,44,9
COMBOBOX 1137,138,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
LTEXT "大小(&S):",1090,209,3,30,9
COMBOBOX 1138,209,13,32,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT
DEFPUSHBUTTON "確定",IDOK,248,6,40,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
PUSHBUTTON "取消",IDCANCEL,248,23,40,14,WS_GROUP | WS_TABSTOP
PUSHBUTTON "套用(&A)", 1026,248,40,40,14,WS_GROUP | WS_TABSTOP
PUSHBUTTON "求助(&H)" , 1038,248,57,40,14,WS_GROUP | WS_TABSTOP
GROUPBOX "效果",1072,6,72,84,34,WS_GROUP
CHECKBOX "刪除線(&K)", 1040, 10,82,50,10, BS_AUTOCHECKBOX | WS_TABSTOP
CHECKBOX "底線(&U)", 1041, 10,94,50,10, BS_AUTOCHECKBOX
LTEXT "色彩(&C):", 1091 ,6,110,30,9
COMBOBOX 1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
GROUPBOX "範例",1073,128,72,160,49,WS_GROUP
CTEXT "AaBbYyZz",1093,134,81,149,37,SS_NOPREFIX | WS_VISIBLE
}
CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 185
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "色彩"
FONT 8, "Helv"
{
LTEXT "基本色彩(&B):", 1088, 4, 4, 140, 10
LTEXT "自定色彩(&C):", 1089, 4, 106, 140, 10
LTEXT "色彩 | 實心(&I)", 1090, 150, 151, 48, 10
LTEXT "紅(&R):", 726 /*1094*/,249,126,24,10
EDITTEXT 706, 275,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
LTEXT "綠(&G):",727/*1095*/,249,140,24,10
EDITTEXT 707, 275,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
LTEXT "藍(&B):",728 /*1096*/,249,154,24,10
EDITTEXT 708, 275,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
LTEXT "色調(&H):" ,723 /*1091*/,202,126,22,10
EDITTEXT 703, 226,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
LTEXT "濃度(&S):" ,724 /*1092*/,202,140,22,10
EDITTEXT 704, 226,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
LTEXT "亮度(&L):" ,725 /*1093*/,202,154,22,10
EDITTEXT 705, 226,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
CONTROL "" ,720,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,14,140,86
CONTROL "" ,721,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,116,140,28
CONTROL "" ,710,"STATIC",WS_BORDER|SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,4,118,116
CONTROL "" ,702,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 278,4,8,116
CONTROL "" ,709,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26
DEFPUSHBUTTON "確定", 1, 4, 166, 44, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
PUSHBUTTON "取消", 2, 52, 166, 44, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "求助(&H)", 1038,100,166, 44, 14
PUSHBUTTON "新增自定色彩(&A)", 712/*1024*/, 152, 166, 142, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "定義自定色彩(&D) >>", 719/*1025*/, 4, 150, 142, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&i",713,300,200,4,14 /* just a dummy: 'i' is like &i in "sol&id" */
}
FINDDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 263, 62
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "搜尋"
FONT 8, "Helv"
{
LTEXT "搜尋目標(&N):", -1, 4, 8, 50, 8
EDITTEXT 1152, 61, 7, 130, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
CHECKBOX "全字拼寫須符合(&W)", 1040, 4, 26, 89, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "大小寫視為相異(&C)", 1041, 4, 42, 89, 12, BS_AUTOCHECKBOX | WS_TABSTOP
GROUPBOX "方向", 1072, 95, 26, 97, 28
CONTROL "向上(&U)", 1056, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 100, 38, 45, 12
CONTROL "向下(&D)", 1057, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 145, 38, 45, 12
DEFPUSHBUTTON "找下一個(&F)", IDOK, 199, 5, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
PUSHBUTTON "取消", IDCANCEL , 199, 23, 60, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "求助(&H)", pshHelp , 199, 45, 60, 14, WS_GROUP | WS_TABSTOP
}
REPLACEDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 263, 94
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "取代"
FONT 8, "Helv"
{
LTEXT "尋找目標(&N):", -1, 4, 9, 50, 8
EDITTEXT 1152, 61, 7, 130, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
LTEXT "取代為(&P):", -1, 4, 26, 50, 8
EDITTEXT 1153, 61, 24, 130, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
CHECKBOX "全字拼寫須符合(&W)", 1040, 5, 46, 89, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "大小寫視為想異(&C)", 1041, 5, 62, 89, 12, BS_AUTOCHECKBOX | WS_TABSTOP
DEFPUSHBUTTON "找下一個(&F)", IDOK, 199, 4, 60, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
PUSHBUTTON "取代(&R)", psh1 , 199, 21, 60, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "取代全部(&A)", psh2 , 199, 38, 60, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "取消", IDCANCEL , 199, 55, 60, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON "求助(&H)", pshHelp , 174, 75, 50, 14, WS_GROUP | WS_TABSTOP
}
NEWFILEOPENORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 287, 165
STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "開啟舊檔"
FONT 8, "helv"
{
LTEXT "搜尋位置(&I)",IDC_LOOKINSTATIC,4,6,43,8, SS_NOTIFY
COMBOBOX IDC_LOOKIN,52,3,130,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
LTEXT "" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE
LISTBOX IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE
LTEXT "檔案名稱(&N):",IDC_FILENAMESTATIC,5,112,46,8, SS_NOTIFY
EDITTEXT IDC_FILENAME,59,110,155,12,ES_AUTOHSCROLL
LTEXT "檔案類型(&T):",IDC_FILETYPESTATIC,5,128,42,8, SS_NOTIFY
COMBOBOX IDC_FILETYPE,59,126,155,53,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
CONTROL "開啟成唯讀(&R)",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,145,100,10
DEFPUSHBUTTON "開啟(&O)", IDOK,222,110,50,14
PUSHBUTTON "取消", IDCANCEL,222,128,50,14
PUSHBUTTON "求助(&H)", pshHelp,222,145,50,14
}
STRINGTABLE DISCARDABLE
{
IDS_ABOUTBOX "&About FolderPicker Test"
IDS_DOCUMENTFOLDERS "文件夾"
IDS_PERSONAL "我的文件"
IDS_FAVORITES "我的最愛"
IDS_PATH "系統路徑"
IDS_DESKTOP "桌面"
IDS_FONTS "字型"
IDS_MYCOMPUTER "我的電腦"
}
STRINGTABLE DISCARDABLE
{
IDS_SYSTEMFOLDERS "System Folders"
IDS_LOCALHARDRIVES "Local Hard Drives"
IDS_FILENOTFOUND "File not found"
IDS_VERIFYFILE "Please verify if the correct file name was given"
IDS_CREATEFILE "File does not exist\nDo you want to create file"
IDL_OVERWRITEFILE "File does already exist.\nDo you want to replace it?"
IDS_INVALID_FILENAME_TITLE "Invalid character(s) in path"
IDS_INVALID_FILENAME "A filename cannot contain any of the following characters: \n / : < > |"
IDS_PATHNOTEXISTING "Path does not exist"
IDS_FILENOTEXISTING "File does not exist"
}
STRINGTABLE DISCARDABLE
{
IDS_UPFOLDER "向上一層"
IDS_NEWFOLDER "建立新資料夾"
IDS_LISTVIEW "清單"
IDS_REPORTVIEW "詳細資料"
IDS_TODESKTOP "顯示桌面"
}

View File

@ -46,3 +46,4 @@
#include "cdlg_Sv.rc"
#include "cdlg_Wa.rc"
#include "cdlg_Ja.rc"
#include "cdlg_Zh.rc"

View File

@ -28,7 +28,7 @@ LOCVAL(LOCALE_ILZERO,"1")
LOCVAL(LOCALE_INEGNUMBER,"1")
LOCVAL(LOCALE_SNATIVEDIGITS,"0123456789")
LOCVAL(LOCALE_SCURRENCY,"¤¸")
LOCVAL(LOCALE_SINTLSYMBOL,"TWD")
LOCVAL(LOCALE_SINTLSYMBOL,"NTD")
LOCVAL(LOCALE_SMONDECIMALSEP,".")
LOCVAL(LOCALE_SMONTHOUSANDSEP,",")
LOCVAL(LOCALE_SMONGROUPING,"3;0")

View File

@ -0,0 +1,25 @@
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 210, 152
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "關於 %s"
FONT 8, "System"
{
DEFPUSHBUTTON "確定", IDOK, 153, 130, 50, 12, WS_TABSTOP
LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
ICON "", 1088, 174, 10, 14, 16
LTEXT "", 100, 8, 10, 137, 33
LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
}
/* columns in the shellview */
STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
BEGIN
IDS_SHV_COLUMN1 "檔案"
IDS_SHV_COLUMN2 "大小"
IDS_SHV_COLUMN3 "類型"
IDS_SHV_COLUMN4 "已修改"
IDS_SHV_COLUMN5 "屬性"
IDS_SHV_COLUMN6 "使用空間"
IDS_SHV_COLUMN7 "剩餘空間"
END

View File

@ -1334,3 +1334,4 @@ END
#include "shell32_Sv.rc"
#include "shell32_Wa.rc"
#include "shell32_Ja.rc"
#include "shell32_Zh.rc"

View File

@ -56,3 +56,62 @@ STRINGTABLE DISCARDABLE
{
MDI_IDS_MOREWINDOWS "更多窗口(&M)..." /* defined in mdi.h */
}
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
SYSMENU MENU LOADONCALL MOVEABLE DISCARDABLE
{
MENUITEM "回復(&R)", 61728
MENUITEM "移動(&M)", 61456
MENUITEM "大小(&S)", 61440
MENUITEM "最小化(&N)", 61472
MENUITEM "最大化(&X)", 61488
MENUITEM SEPARATOR
MENUITEM "關閉(&N)\tAlt-F4", 61536
MENUITEM SEPARATOR
MENUITEM "切換到(&S)...\tCtrl-Esc", 61744
}
EDITMENU MENU LOADONCALL MOVEABLE DISCARDABLE
{
POPUP ""
BEGIN
MENUITEM "回復(&U)", EM_UNDO
MENUITEM SEPARATOR
MENUITEM "剪下(&T)", WM_CUT
MENUITEM "復製(&C)", WM_COPY
MENUITEM "貼上(&P)", WM_PASTE
MENUITEM "刪除(&D)", WM_CLEAR
MENUITEM SEPARATOR
MENUITEM "全選(&A)", EM_SETSEL
END
}
MSGBOX DIALOG 100, 80, 216, 168
STYLE DS_SYSMODAL | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
BEGIN
ICON "", 1088, 8, 20, 16, 16, WS_CHILD | WS_VISIBLE
LTEXT "", 100, 32, 4, 176, 48, WS_CHILD | WS_VISIBLE | WS_GROUP
PUSHBUTTON "確定(&O)", 1, 16, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "取消(&C)", 2, 64, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "中止(&A)", 3, 112, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "重試(&R)", 4, 160, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "忽略(&I)", 5, 208, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "是(&Y)", 6, 256, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "否(&N)", 7, 304, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
MDI_MOREWINDOWS DIALOG FIXED IMPURE 20, 20, 232, 122
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "選擇視窗"
FONT 8, "MS Shell Dlg"
BEGIN
LISTBOX MDI_IDC_LISTBOX, 5, 7, 222, 90, WS_VSCROLL | WS_HSCROLL /* defined in mdi.h */
DEFPUSHBUTTON "確定", IDOK, 75, 100, 35, 14
PUSHBUTTON "取消", IDCANCEL, 120, 100, 35, 14
END
STRINGTABLE DISCARDABLE
{
MDI_IDS_MOREWINDOWS "更多視窗(&M)..." /* defined in mdi.h */
}

View File

@ -141,7 +141,11 @@ static WORD X11DRV_enum_subfont_charset_cp949( UINT index )
static WORD X11DRV_enum_subfont_charset_cp950( UINT index )
{
FIXME( "please implement X11DRV_enum_subfont_charset_cp950!\n" );
switch ( index )
{
case 0: return ANSI_CHARSET;
}
return DEFAULT_CHARSET;
}
@ -262,16 +266,8 @@ static XChar2b* X11DRV_unicode_to_char2b_cp936( fontObject* pfo,
{
if ( IsLegalDBCSChar_cp936( *str_src, *(str_src+1) ) )
{
if ( IsLegalDBCSChar_euc( *str_src, *(str_src+1) ) )
{
DBCSCharToXChar2b_euc( str2b_dst, *str_src, *(str_src+1) );
}
else
{
/* FIXME */
str2b_dst->byte1 = 0;
str2b_dst->byte2 = 0;
}
str2b_dst->byte1 = *str_src;
str2b_dst->byte2 = *(str_src+1);
str_src++;
}
else
@ -311,16 +307,8 @@ static XChar2b* X11DRV_unicode_to_char2b_cp949( fontObject* pfo,
{
if ( IsLegalDBCSChar_cp949( *str_src, *(str_src+1) ) )
{
if ( IsLegalDBCSChar_euc( *str_src, *(str_src+1) ) )
{
DBCSCharToXChar2b_euc( str2b_dst, *str_src, *(str_src+1) );
}
else
{
/* FIXME */
str2b_dst->byte1 = 0;
str2b_dst->byte2 = 0;
}
str2b_dst->byte1 = *str_src;
str2b_dst->byte2 = *(str_src+1);
str_src++;
}
else
@ -339,8 +327,42 @@ static XChar2b* X11DRV_unicode_to_char2b_cp949( fontObject* pfo,
static XChar2b* X11DRV_unicode_to_char2b_cp950( fontObject* pfo,
LPCWSTR lpwstr, UINT count )
{
FIXME( "please implement X11DRV_unicode_to_char2b_cp950!\n" );
return NULL;
XChar2b *str2b;
XChar2b *str2b_dst;
BYTE *str;
BYTE *str_src;
UINT i;
char ch = pfo->fs->default_char;
if (!(str2b = HeapAlloc( GetProcessHeap(), 0, count * sizeof(XChar2b) )))
return NULL;
if (!(str = HeapAlloc( GetProcessHeap(), 0, count*2 )))
{
HeapFree( GetProcessHeap(), 0, str2b );
return NULL;
}
WideCharToMultiByte( 950, 0, lpwstr, count, str, count*2, &ch, NULL );
str_src = str;
str2b_dst = str2b;
for (i = 0; i < count; i++, str_src++, str2b_dst++)
{
if ( IsLegalDBCSChar_cp950( *str_src, *(str_src+1) ) )
{
str2b_dst->byte1 = *str_src;
str2b_dst->byte2 = *(str_src+1);
str_src++;
}
else
{
str2b_dst->byte1 = 0;
str2b_dst->byte2 = *str_src;
}
}
HeapFree( GetProcessHeap(), 0, str );
return str2b;
}
@ -673,10 +695,10 @@ const X11DRV_CP X11DRV_cptable[X11DRV_CPTABLE_COUNT] =
{ /* CP950 */
X11DRV_enum_subfont_charset_cp950,
X11DRV_unicode_to_char2b_cp950,
X11DRV_DrawString_normal, /* FIXME */
X11DRV_TextWidth_normal, /* FIXME */
X11DRV_DrawText_normal, /* FIXME */
X11DRV_TextExtents_normal, /* FIXME */
X11DRV_GetTextMetricsA_normal, /* FIXME */
X11DRV_DrawString_dbcs,
X11DRV_TextWidth_dbcs_2fonts,
X11DRV_DrawText_dbcs_2fonts,
X11DRV_TextExtents_dbcs_2fonts,
X11DRV_GetTextMetricsA_cp932,
},
};

View File

@ -242,7 +242,7 @@ static fontEncodingTemplate __fETTable[] = {
{ "jisx0212.1990",sufch_jisx0212, &__fETTable[15]},
{ "ksc5601.1987", sufch_ksc5601, &__fETTable[16]},
{ "gb2312.1980", sufch_gb2312, &__fETTable[17]},
{ "big5.et", sufch_big5, &__fETTable[18]},
{ "big5", sufch_big5, &__fETTable[18]},
{ "unicode", sufch_unicode, &__fETTable[19]},
{ "iso10646", sufch_iso10646, &__fETTable[20]},
{ "cp", sufch_windows, &__fETTable[21]},
@ -299,6 +299,8 @@ static const struct CharsetBindingInfo charsetbindings[] =
{ "GulimChe", HANGEUL_CHARSET },
{ "MS Song", GB2312_CHARSET },
{ "MS Hei", GB2312_CHARSET },
{ "\xb7\x73\xb2\xd3\xa9\xfa\xc5\xe9", CHINESEBIG5_CHARSET },/*MS Mingliu*/
{ "\xb2\xd3\xa9\xfa\xc5\xe9", CHINESEBIG5_CHARSET },
{ NULL, 0 }
};
@ -3037,9 +3039,7 @@ static X_PHYSFONT XFONT_RealizeFont( const LPLOGFONT16 plf,
lfSub = *plf;
lfSub.lfWidth = 0;
lfSub.lfHeight = pfo->fi->df.dfPixHeight;
if ( plf->lfHeight < 0 )
lfSub.lfHeight = - lfSub.lfHeight;
lfSub.lfHeight=plf->lfHeight;
lfSub.lfCharSet = (BYTE)(charset_sub & 0xff);
lfSub.lfFaceName[0] = '\0'; /* FIXME? */
/* this font has sub font */