@@ -154,10 +154,10 @@ static void UpdateCandidateList(const CANDIDATELIST* const src, const size_t src
154154 page_size = src->dwPageSize ;
155155}
156156
157- // それぞれ UTF-8 に変換するためにラムダ関数用意する
157+ // ���줾�� UTF-8 �ˉ�Q���뤿��˥����v�����⤹��
158158/*
159- std::wstring を std::unique_ptr<char[]> に UTF-8 のnull 終端文字列にして変換する
160- 引数が空文字列の場合は nullptr が入る
159+ std::wstring �� std::unique_ptr<char[]> �� UTF-8 ��null �K�������Фˤ��Ɖ�Q����
160+ �������������ФΈ��Ϥ� nullptr �����
161161*/
162162static std::string to_utf8 (const std::wstring& arg) {
163163 std::string utf8buf;
@@ -282,16 +282,16 @@ static LRESULT CALLBACK ImeWndProc(HWND hWnd, UINT uMsg, WPARAM wParam,
282282 }
283283 if (lParam & GCS_COMPSTR) {
284284
285- /* 一段階目で IME から ワイド文字で文字列をもらってくる */
286- /* これはバイト単位でやりとりするので、注意 */
285+ /* һ���AĿ�� IME ���� �磻�����֤������Ф���äƤ��� */
286+ /* ����ϥХ��ȅgλ�Ǥ��Ȥꤹ��Τǡ�ע�� */
287287 const DWORD compstr_length_in_byte = ImmGetCompositionStringW (hImc, GCS_COMPSTR, nullptr , 0 );
288288 switch (compstr_length_in_byte) {
289289 case IMM_ERROR_NODATA:
290290 case IMM_ERROR_GENERAL:
291291 break ;
292292 default :
293293 {
294- /* バイト単位でもらってきたので、 wchar_t 単位に直して、 null文字の余裕を加えてバッファを用意する */
294+ /* �Х��ȅgλ�Ǥ��äƤ����Τǡ� wchar_t �gλ��ֱ���ơ� null���֤���ԣ��Ӥ��ƥХåե������⤹�� */
295295 size_t const buf_length_in_wchar = (size_t (compstr_length_in_byte) / sizeof (wchar_t )) + 1 ;
296296 assert (0 < buf_length_in_wchar);
297297 std::unique_ptr<wchar_t []> buf{ new wchar_t [buf_length_in_wchar] };
@@ -312,7 +312,7 @@ static LRESULT CALLBACK ImeWndProc(HWND hWnd, UINT uMsg, WPARAM wParam,
312312 std::wstring comp_unconveted;
313313 size_t begin = 0 ;
314314 size_t end = 0 ;
315- // 変換済みを取り出す
315+ // ��Q�g�ߤ�ȡ�����
316316 for (end = begin; end < attribute_end; ++end) {
317317 if ((ATTR_TARGET_CONVERTED == attribute_vec[end] ||
318318 ATTR_TARGET_NOTCONVERTED == attribute_vec[end])) {
@@ -322,9 +322,9 @@ static LRESULT CALLBACK ImeWndProc(HWND hWnd, UINT uMsg, WPARAM wParam,
322322 comp_converted.push_back (buf[end]);
323323 }
324324 }
325- // 変換済みの領域 [begin,end)
325+ // ��Q�g�ߤ��I�� [begin,end)
326326
327- // 変換中の文字列を取り出す
327+ // ��Q�Ф������Ф�ȡ�����
328328 for (begin = end; end < attribute_end; ++end) {
329329 if (!(ATTR_TARGET_CONVERTED == attribute_vec[end] ||
330330 ATTR_TARGET_NOTCONVERTED == attribute_vec[end])) {
@@ -334,9 +334,9 @@ static LRESULT CALLBACK ImeWndProc(HWND hWnd, UINT uMsg, WPARAM wParam,
334334 comp_target.push_back (buf[end]);
335335 }
336336 }
337- // 変換中の領域 [begin,end)
337+ // ��Q���I�� [begin,end)
338338
339- // 未変換の文字列を取り出す
339+ // δ��Q�������Ф�ȡ�����
340340 for (; end < attribute_end; ++end) {
341341 comp_unconveted.push_back (buf[end]);
342342 }
@@ -353,9 +353,9 @@ static LRESULT CALLBACK ImeWndProc(HWND hWnd, UINT uMsg, WPARAM wParam,
353353 OnIMEChangeCandidates ();
354354 }
355355 #if defined( UNICODE )
356- // UNICODE 構成の時には、 DefWindowProc で直接IMEに吸収させて大丈夫
356+ // UNICODE ���ɤΕr�ˤϡ� DefWindowProc ��ֱ��IME�����������ƴ��ɷ�
357357 return ::DefWindowProc (hWnd, uMsg, wParam, lParam);
358- // マルチバイト 構成の時には、 Window サブクラスの プロシージャが処理するので、 DefSubclassProc する必要がある。
358+ // �ޥ���Х��� ���ɤΕr�ˤϡ� Window ���֥��饹�� �ץ��`���㤬�I����Τǡ� DefSubclassProc �����Ҫ�����롣
359359 #else
360360 return ::DefSubclassProc (hWnd, uMsg, wParam, lParam);
361361 #endif
0 commit comments