Skip to content

Commit 80bd460

Browse files
authored
[SDK][KBSWITCH][CONIME][IMM32][NTUSER][MSCTFIME][MSUTB] Define LANGID_... (reactos#8691)
Follow-up of reactos#8678. Commonize the definition of LANGID_... values. JIRA issue: CORE-20243 - Define LANGID_... values for CJK in <cjkcode.h> and use it.
1 parent fca3320 commit 80bd460

9 files changed

Lines changed: 22 additions & 31 deletions

File tree

base/applications/kbswitch/kbswitch.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,14 @@
1111
#include <tchar.h>
1212
#include <strsafe.h>
1313
#include <ime/indicml.h> /* INDICATOR_CLASS, INDICM_... */
14+
#include <cjkcode.h> /* LANGID_... */
1415

1516
#include "resource.h"
1617
#include "indicdll/resource.h"
1718

1819
#define CCH_LAYOUT_ID 8 // Character Count of a layout ID like "00000409"
1920
#define CCH_ULONG_DEC 10 // Maximum Character Count of a ULONG in decimal
2021

21-
// Far East Language IDs
22-
#define LANGID_CHINESE_SIMPLIFIED MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
23-
#define LANGID_CHINESE_TRADITIONAL MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
24-
#define LANGID_JAPANESE MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT)
25-
#define LANGID_KOREAN MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT)
26-
2722
#define WM_LANG_CHANGED (WM_USER + 10200)
2823
#define WM_WINDOW_ACTIVATE (WM_USER + 10300)
2924

base/ctf/msctfime/msctfime.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ Inquire(
103103

104104
switch (LOWORD(hKL)) // Language ID
105105
{
106-
case MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT): // Japanese
106+
case LANGID_JAPANESE: // Japanese
107107
{
108108
lpIMEInfo->fdwProperty = IME_PROP_COMPLETE_ON_UNSELECT | IME_PROP_SPECIAL_UI |
109109
IME_PROP_AT_CARET | IME_PROP_NEED_ALTKEY |
@@ -117,7 +117,7 @@ Inquire(
117117
lpIMEInfo->fdwUICaps = UI_CAP_ROT90;
118118
break;
119119
}
120-
case MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT): // Korean
120+
case LANGID_KOREAN: // Korean
121121
{
122122
lpIMEInfo->fdwProperty = IME_PROP_COMPLETE_ON_UNSELECT | IME_PROP_SPECIAL_UI |
123123
IME_PROP_AT_CARET | IME_PROP_NEED_ALTKEY |
@@ -129,8 +129,8 @@ Inquire(
129129
lpIMEInfo->fdwUICaps = UI_CAP_ROT90;
130130
break;
131131
}
132-
case MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED): // Simplified Chinese
133-
case MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL): // Traditional Chinese
132+
case LANGID_CHINESE_SIMPLIFIED: // Simplified Chinese
133+
case LANGID_CHINESE_TRADITIONAL: // Traditional Chinese
134134
{
135135
lpIMEInfo->fdwProperty = IME_PROP_SPECIAL_UI | IME_PROP_AT_CARET |
136136
IME_PROP_NEED_ALTKEY | IME_PROP_KBD_CHAR_FIRST;

base/ctf/msctfime/msctfime.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include <ctffunc.h>
2525
#include <shlwapi.h>
2626
#include <strsafe.h>
27+
#include <cjkcode.h>
2728

2829
#include <cicbase.h>
2930
#include <cicarray.h>

base/ctf/msutb/msutb.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ CicArray<HKL> *g_prghklSkipRedrawing = NULL;
103103

104104
BOOL IsSkipRedrawHKL(HKL hSkipKL)
105105
{
106-
if (LOWORD(hSkipKL) == MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT))
106+
if (LOWORD(hSkipKL) == LANGID_JAPANESE)
107107
return FALSE; // Japanese HKL will be skipped
108108
if (!g_prghklSkipRedrawing)
109109
return FALSE;
@@ -335,10 +335,10 @@ BOOL IsFELangId(LANGID LangID)
335335
{
336336
switch (LangID)
337337
{
338-
case MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED): // Chinese (Simplified)
339-
case MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL): // Chinese (Traditional)
340-
case MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT): // Japanese
341-
case MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT): // Korean
338+
case LANGID_CHINESE_SIMPLIFIED: // Chinese (Simplified)
339+
case LANGID_CHINESE_TRADITIONAL: // Chinese (Traditional)
340+
case LANGID_JAPANESE: // Japanese
341+
case LANGID_KOREAN: // Korean
342342
return TRUE;
343343
default:
344344
return FALSE;

base/ctf/msutb/precomp.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <atlbase.h>
2626
#include <atlcom.h>
2727
#include <strsafe.h>
28+
#include <cjkcode.h>
2829

2930
#include "resource.h"
3031
#include <cicreg.h>

base/system/conime/conime.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@
77

88
#pragma once
99

10-
#define LANGID_CHINESE_SIMPLIFIED 0x804 // Simplified Chinese language
11-
#define LANGID_CHINESE_TRADITIONAL 0x404 // Traditional Chinese language
12-
#define LANGID_JAPANESE 0x411 // Japanese language
13-
#define LANGID_KOREAN 0x412 // Korean language
14-
1510
#define WM_USER_INIT (WM_USER + 0x00) // 0x400
1611
#define WM_USER_UNINIT (WM_USER + 0x01) // 0x401
1712
#define WM_USER_SWITCHIME (WM_USER + 0x02) // 0x402

sdk/include/reactos/cjkcode.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
44
* PURPOSE: Encoding, charsets and codepages for Chinese, Japanese and Korean (CJK)
55
* COPYRIGHT: Copyright 2017-2022 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
6-
Copyright 2017-2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6+
Copyright 2017-2026 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
77
*/
88

99
#pragma once
@@ -45,3 +45,10 @@
4545
((CharSet) == SHIFTJIS_CHARSET || (CharSet) == HANGUL_CHARSET || \
4646
/* (CharSet) == JOHAB_CHARSET || */ \
4747
(CharSet) == GB2312_CHARSET || (CharSet) == CHINESEBIG5_CHARSET)
48+
49+
/* Language IDs for CJK */
50+
#define LANGID_CHINESE_SIMPLIFIED MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED) // Chinese (Simplified)
51+
#define LANGID_CHINESE_TRADITIONAL MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL) // Chinese (Traditional)
52+
#define LANGID_JAPANESE MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT) // Japanese
53+
#define LANGID_KOREAN MAKELANGID(LANG_KOREAN, SUBLANG_KOREAN) // Korean
54+
#define LANGID_NEUTRAL MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL) // Neutral

win32ss/user/imm32/precomp.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <imm.h>
3030
#include <immdev.h>
3131
#include <imm32_undoc.h>
32+
#include <cjkcode.h> // LANGID_...
3233

3334
#define NTOS_MODE_USER
3435
#include <ndk/umtypes.h>
@@ -78,10 +79,6 @@
7879
#define MAX_CANDIDATEFORM 4
7980
#define MAX_IMM_FILENAME 80
8081

81-
#define LANGID_CHINESE_SIMPLIFIED MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
82-
#define LANGID_CHINESE_TRADITIONAL MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
83-
#define LANGID_JAPANESE MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT)
84-
8582
#define REGKEY_KEYBOARD_LAYOUTS L"System\\CurrentControlSet\\Control\\Keyboard Layouts"
8683

8784
extern HMODULE ghImm32Inst;

win32ss/user/ntuser/ime.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include <win32k.h>
1111
#include <jpnvkeys.h>
12+
#include <cjkcode.h>
1213

1314
DBG_DEFAULT_CHANNEL(UserMisc);
1415

@@ -17,12 +18,6 @@ DBG_DEFAULT_CHANNEL(UserMisc);
1718
#define MOD_KEYS (MOD_CONTROL | MOD_SHIFT | MOD_ALT | MOD_WIN)
1819
#define MOD_LEFT_RIGHT (MOD_LEFT | MOD_RIGHT)
1920

20-
#define LANGID_CHINESE_SIMPLIFIED MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
21-
#define LANGID_JAPANESE MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT)
22-
#define LANGID_KOREAN MAKELANGID(LANG_KOREAN, SUBLANG_KOREAN)
23-
#define LANGID_CHINESE_TRADITIONAL MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
24-
#define LANGID_NEUTRAL MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)
25-
2621
HIMC ghIMC = NULL;
2722
BOOL gfImeOpen = (BOOL)-1;
2823
DWORD gdwImeConversion = (DWORD)-1;

0 commit comments

Comments
 (0)