diff --git a/README.md b/README.md
index b5b9346f..73f5c559 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-# CorvusSKK ver. 2.1.0
+# CorvusSKK ver. 2.1.1
Windowsで動作するSKK風のIMEです。
@@ -222,7 +222,7 @@ SKK辞書のダウンロード機能では HTTP, HTTPS が使用可能です。
| 候補一覧が表示無しのとき候補数を表示する | (<現在の候補の番号>/<候補数>) の形式を追加して表示します。 |
| 候補一覧を縦に表示する | 候補一覧で候補を縦に並べて表示します。 |
| 注釈を表示する | <候補><セミコロン><注釈> の形式で注釈を表示します。
「候補一覧」の指定で候補一覧に限定されます。 |
-| 入力モードを表示する | キャレットまたは辞書登録ウィンドウ付近に入力モードを表示します。
タイミングは、IME ON、入力モード変更、「\*無効\*」キー押下のときです。
「没入型」の指定でストアアプリやEdgeなどに限定されます。 |
+| 入力モードを表示する | キャレットまたは辞書登録ウィンドウ付近に入力モードを表示します。
タイミングは、IME ON/OFF 変更、入力モード変更、IME ON/OFF キー押下、「\*無効\*」キー押下のときです。
「没入型」の指定でストアアプリやEdgeなどに限定されます。 |
| ▽▼\*マークを表示する | 大切なものは目に見えないようです。 |
| ローマ字を表示する | 仮名文字のローマ字プレフィックスを表示します。 |
diff --git a/common/version.h b/common/version.h
index 5f6ec090..e4fc2dd3 100644
--- a/common/version.h
+++ b/common/version.h
@@ -10,12 +10,12 @@
#define TEXTSERVICE_DESC TEXTSERVICE_NAME L"_DEBUG"
#endif
-#define TEXTSERVICE_VER L"2.1.0"
+#define TEXTSERVICE_VER L"2.1.1"
//for resource
#define RC_AUTHOR "nathancorvussolis"
#define RC_PRODUCT "CorvusSKK"
-#define RC_VERSION "2.1.0"
-#define RC_VERSION_D 2,1,0,0
+#define RC_VERSION "2.1.1"
+#define RC_VERSION_D 2,1,1,0
#endif
diff --git a/imcrvcnf/imcrvcnf.cpp b/imcrvcnf/imcrvcnf.cpp
index 42947af8..aaaaa23d 100644
--- a/imcrvcnf/imcrvcnf.cpp
+++ b/imcrvcnf/imcrvcnf.cpp
@@ -67,7 +67,7 @@ void CreateProperty()
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_NOCONTEXTHELP | PSH_USECALLBACK;
psh.hwndParent = NULL;
psh.hInstance = hInst;
- psh.pszCaption = TEXTSERVICE_DESC L" (ver. " TEXTSERVICE_VER L")";
+ psh.pszCaption = TEXTSERVICE_DESC L" ver. " TEXTSERVICE_VER;
psh.nPages = _countof(psp);
psh.nStartPage = 0;
psh.ppsp = psp;
diff --git a/imcrvtip/CandidateWindow.cpp b/imcrvtip/CandidateWindow.cpp
index 91196501..030dba24 100644
--- a/imcrvtip/CandidateWindow.cpp
+++ b/imcrvtip/CandidateWindow.cpp
@@ -14,40 +14,16 @@ BOOL CCandidateWindow::_Create(HWND hwndParent, CCandidateWindow *pCandidateWind
if(_hwndParent != NULL)
{
- WNDCLASSEXW wc;
- wc.cbSize = sizeof(wc);
- wc.style = CS_IME | CS_VREDRAW | CS_HREDRAW | CS_DROPSHADOW;
- wc.lpfnWndProc = DefWindowProcW;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = sizeof(LONG_PTR);
- wc.hInstance = g_hInst;
- wc.hIcon = NULL;
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = CandidateWindowClass;
- wc.hIconSm = NULL;
- RegisterClassExW(&wc);
-
_hwnd = CreateWindowExW(WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_NOACTIVATE,
CandidateWindowClass, L"", WS_POPUP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
- _hwndParent, NULL, g_hInst, NULL);
+ _hwndParent, NULL, g_hInst, this);
if(_hwnd == NULL)
{
return FALSE;
}
- WndProcDef = (WNDPROC)GetWindowLongPtrW(_hwnd, GWLP_WNDPROC);
- if(WndProcDef != NULL)
- {
- SetWindowLongPtrW(_hwnd, GWLP_USERDATA, (LONG_PTR)this);
- SetWindowLongPtrW(_hwnd, GWLP_WNDPROC, (LONG_PTR)_WindowPreProc);
- SetWindowPos(_hwnd, NULL, 0, 0, 0, 0,
- SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
- }
-
hFont = _pTextService->hFont;
if(_pTextService->cx_drawapi && _pTextService->_pD2DFactory != NULL)
@@ -112,15 +88,55 @@ BOOL CCandidateWindow::_Create(HWND hwndParent, CCandidateWindow *pCandidateWind
return TRUE;
}
+BOOL CCandidateWindow::_InitClass()
+{
+ WNDCLASSEXW wcex;
+
+ ZeroMemory(&wcex, sizeof(wcex));
+ wcex.cbSize = sizeof(wcex);
+ wcex.style = CS_VREDRAW | CS_HREDRAW | CS_DROPSHADOW;
+ wcex.lpfnWndProc = CCandidateWindow::_WindowPreProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = g_hInst;
+ wcex.hIcon = NULL;
+ wcex.hCursor = LoadCursorW(NULL, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
+ wcex.lpszMenuName = NULL;
+ wcex.lpszClassName = CandidateWindowClass;
+ wcex.hIconSm = NULL;
+
+ ATOM atom = RegisterClassExW(&wcex);
+
+ return (atom != 0);
+}
+
+void CCandidateWindow::_UninitClass()
+{
+ UnregisterClassW(CandidateWindowClass, g_hInst);
+}
+
LRESULT CALLBACK CCandidateWindow::_WindowPreProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
- LRESULT ret = 0;
- CCandidateWindow *pWindowProc = (CCandidateWindow*)GetWindowLongPtrW(hWnd, GWLP_USERDATA);
- if(pWindowProc != NULL)
+ CCandidateWindow *pCandidateWindow = NULL;
+
+ switch(uMsg)
+ {
+ case WM_NCCREATE:
+ pCandidateWindow = (CCandidateWindow *)((LPCREATESTRUCTW)lParam)->lpCreateParams;
+ SetWindowLongPtrW(hWnd, GWLP_USERDATA, (LONG_PTR)pCandidateWindow);
+ break;
+ default:
+ pCandidateWindow = (CCandidateWindow *)GetWindowLongPtrW(hWnd, GWLP_USERDATA);
+ break;
+ }
+
+ if(pCandidateWindow != NULL)
{
- ret = pWindowProc->_WindowProc(hWnd, uMsg, wParam, lParam);
+ return pCandidateWindow->_WindowProc(hWnd, uMsg, wParam, lParam);
}
- return ret;
+
+ return DefWindowProcW(hWnd, uMsg, wParam, lParam);
}
LRESULT CALLBACK CCandidateWindow::_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
@@ -137,6 +153,7 @@ LRESULT CALLBACK CCandidateWindow::_WindowProc(HWND hWnd, UINT uMsg, WPARAM wPar
default:
return DefWindowProcW(hWnd, uMsg, wParam, lParam);
}
+
return 0;
}
diff --git a/imcrvtip/CandidateWindow.h b/imcrvtip/CandidateWindow.h
index 69f9c208..b14c6f0b 100644
--- a/imcrvtip/CandidateWindow.h
+++ b/imcrvtip/CandidateWindow.h
@@ -39,6 +39,8 @@ class CCandidateWindow : public ITfCandidateListUIElementBehavior
STDMETHODIMP Abort();
BOOL _Create(HWND hwndParent, CCandidateWindow *pCandidateWindowParent, DWORD dwUIElementId, UINT depth, BOOL reg, BOOL comp);
+ static BOOL _InitClass();
+ static void _UninitClass();
static LRESULT CALLBACK _WindowPreProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK _WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
void _Destroy();
@@ -54,6 +56,8 @@ class CCandidateWindow : public ITfCandidateListUIElementBehavior
void _UpdateComp();
private:
+ LONG _cRef;
+
void _InitList();
void _UpdateUIElement();
void _NextPage();
@@ -95,8 +99,6 @@ class CCandidateWindow : public ITfCandidateListUIElementBehavior
std::vector< UINT > _PageIndex;
std::vector< std::wstring > _CandStr;
- LONG _cRef;
-
CTextService *_pTextService;
CCandidateList *_pCandidateList;
CCandidateWindow *_pCandidateWindow; //子
@@ -109,7 +111,6 @@ class CCandidateWindow : public ITfCandidateListUIElementBehavior
UINT _depth; //深さ
//候補一覧、辞書登録のウィンドウ
- WNDPROC WndProcDef;
std::wstring disptext; //表示文字列
HFONT hFont; //フォント
diff --git a/imcrvtip/InputModeWindow.cpp b/imcrvtip/InputModeWindow.cpp
index 8638ee35..b4a4c809 100644
--- a/imcrvtip/InputModeWindow.cpp
+++ b/imcrvtip/InputModeWindow.cpp
@@ -226,7 +226,6 @@ HRESULT CInputModeWindow::_UnadviseTextLayoutSink()
BOOL CInputModeWindow::_Create(CTextService *pTextService, ITfContext *pContext, BOOL bCandidateWindow, HWND hWnd)
{
- WNDCLASSEXW wc;
HDC hdc;
RECT r;
POINT pt = {0, 0};
@@ -268,43 +267,16 @@ BOOL CInputModeWindow::_Create(CTextService *pTextService, ITfContext *pContext,
}
}
- wc.cbSize = sizeof(wc);
- wc.style = CS_IME | CS_VREDRAW | CS_HREDRAW | CS_DROPSHADOW;
- wc.lpfnWndProc = DefWindowProcW;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = sizeof(LONG_PTR);
- wc.hInstance = g_hInst;
- wc.hIcon = NULL;
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = InputModeWindowClass;
- wc.hIconSm = NULL;
- RegisterClassExW(&wc);
-
_hwnd = CreateWindowExW(WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_NOACTIVATE,
InputModeWindowClass, L"", WS_POPUP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
- _hwndParent, NULL, g_hInst, NULL);
+ _hwndParent, NULL, g_hInst, this);
if(_hwnd == NULL)
{
return FALSE;
}
- WndProcDef = (WNDPROC)GetWindowLongPtrW(_hwnd, GWLP_WNDPROC);
- if(WndProcDef != 0)
- {
- SetWindowLongPtrW(_hwnd, GWLP_USERDATA, (LONG_PTR)this);
- SetWindowLongPtrW(_hwnd, GWLP_WNDPROC, (LONG_PTR)_WindowPreProc);
- SetWindowPos(_hwnd, NULL, 0, 0, 0, 0,
- SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
- if(!_bCandidateWindow)
- {
- SetTimer(_hwnd, INPUTMODE_TIMER_ID, INPUTMODE_TIMEOUT_MSEC, NULL);
- }
- }
-
hdc = GetDC(NULL);
_size = MulDiv(16, GetDeviceCaps(hdc, LOGPIXELSY), 96);
ReleaseDC(NULL, hdc);
@@ -323,15 +295,55 @@ BOOL CInputModeWindow::_Create(CTextService *pTextService, ITfContext *pContext,
return TRUE;
}
+BOOL CInputModeWindow::_InitClass()
+{
+ WNDCLASSEXW wcex;
+
+ ZeroMemory(&wcex, sizeof(wcex));
+ wcex.cbSize = sizeof(wcex);
+ wcex.style = CS_VREDRAW | CS_HREDRAW | CS_DROPSHADOW;
+ wcex.lpfnWndProc = CInputModeWindow::_WindowPreProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = g_hInst;
+ wcex.hIcon = NULL;
+ wcex.hCursor = LoadCursorW(NULL, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
+ wcex.lpszMenuName = NULL;
+ wcex.lpszClassName = InputModeWindowClass;
+ wcex.hIconSm = NULL;
+
+ ATOM atom = RegisterClassExW(&wcex);
+
+ return (atom != 0);
+}
+
+void CInputModeWindow::_UninitClass()
+{
+ UnregisterClassW(InputModeWindowClass, g_hInst);
+}
+
LRESULT CALLBACK CInputModeWindow::_WindowPreProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
- LRESULT ret = 0;
- CInputModeWindow *pWindowProc = (CInputModeWindow*)GetWindowLongPtrW(hWnd, GWLP_USERDATA);
- if(pWindowProc != NULL)
+ CInputModeWindow *pInputModeWindow = NULL;
+
+ switch(uMsg)
+ {
+ case WM_NCCREATE:
+ pInputModeWindow = (CInputModeWindow *)((LPCREATESTRUCTW)lParam)->lpCreateParams;
+ SetWindowLongPtrW(hWnd, GWLP_USERDATA, (LONG_PTR)pInputModeWindow);
+ break;
+ default:
+ pInputModeWindow = (CInputModeWindow *)GetWindowLongPtrW(hWnd, GWLP_USERDATA);
+ break;
+ }
+
+ if(pInputModeWindow != NULL)
{
- ret = pWindowProc->_WindowProc(hWnd, uMsg, wParam, lParam);
+ return pInputModeWindow->_WindowProc(hWnd, uMsg, wParam, lParam);
}
- return ret;
+
+ return DefWindowProcW(hWnd, uMsg, wParam, lParam);
}
LRESULT CALLBACK CInputModeWindow::_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
@@ -348,6 +360,12 @@ LRESULT CALLBACK CInputModeWindow::_WindowProc(HWND hWnd, UINT uMsg, WPARAM wPar
switch(uMsg)
{
+ case WM_CREATE:
+ if(!_bCandidateWindow)
+ {
+ SetTimer(hWnd, INPUTMODE_TIMER_ID, INPUTMODE_TIMEOUT_MSEC, NULL);
+ }
+ break;
case WM_TIMER:
if(wParam == INPUTMODE_TIMER_ID)
{
@@ -400,6 +418,7 @@ LRESULT CALLBACK CInputModeWindow::_WindowProc(HWND hWnd, UINT uMsg, WPARAM wPar
default:
return DefWindowProcW(hWnd, uMsg, wParam, lParam);
}
+
return 0;
}
@@ -503,6 +522,7 @@ void CTextService::_StartInputModeWindow()
{
switch(inputmode)
{
+ case im_default:
case im_hiragana:
case im_katakana:
case im_katakana_ank:
diff --git a/imcrvtip/InputModeWindow.h b/imcrvtip/InputModeWindow.h
index 002feef8..ad4f6b13 100644
--- a/imcrvtip/InputModeWindow.h
+++ b/imcrvtip/InputModeWindow.h
@@ -24,6 +24,8 @@ class CInputModeWindow : public ITfTextLayoutSink
BOOL _Create(CTextService *pTextService, ITfContext *pContext, BOOL bCandidateWindow, HWND hWnd);
void _Destroy();
+ static BOOL _InitClass();
+ static void _UninitClass();
static LRESULT CALLBACK _WindowPreProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK _WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
@@ -45,7 +47,6 @@ class CInputModeWindow : public ITfTextLayoutSink
CTextService *_pTextService;
HWND _hwndParent;
HWND _hwnd;
- WNDPROC WndProcDef;
BOOL _bCandidateWindow;
int _size;
diff --git a/imcrvtip/KeyEventSink.cpp b/imcrvtip/KeyEventSink.cpp
index d16e439e..e2f1b92e 100644
--- a/imcrvtip/KeyEventSink.cpp
+++ b/imcrvtip/KeyEventSink.cpp
@@ -197,6 +197,10 @@ STDAPI CTextService::OnPreservedKey(ITfContext *pic, REFGUID rguid, BOOL *pfEate
_SetKeyboardOpen(TRUE);
}
+ else
+ {
+ _UpdateLanguageBar();
+ }
*pfEaten = TRUE;
}
@@ -208,6 +212,10 @@ STDAPI CTextService::OnPreservedKey(ITfContext *pic, REFGUID rguid, BOOL *pfEate
_SetKeyboardOpen(FALSE);
}
+ else
+ {
+ _UpdateLanguageBar();
+ }
*pfEaten = TRUE;
}
diff --git a/imcrvtip/LanguageBar.cpp b/imcrvtip/LanguageBar.cpp
index d111fc53..8c765803 100644
--- a/imcrvtip/LanguageBar.cpp
+++ b/imcrvtip/LanguageBar.cpp
@@ -580,6 +580,10 @@ void CTextService::_UpdateLanguageBar(BOOL showinputmode)
{
_StartInputModeWindow();
}
+ else
+ {
+ _EndInputModeWindow();
+ }
}
void CTextService::_GetIcon(HICON *phIcon)
diff --git a/imcrvtip/TextService.cpp b/imcrvtip/TextService.cpp
index 52f2b92a..013b54e1 100644
--- a/imcrvtip/TextService.cpp
+++ b/imcrvtip/TextService.cpp
@@ -2,6 +2,7 @@
#include "imcrvtip.h"
#include "TextService.h"
#include "CandidateList.h"
+#include "CandidateWindow.h"
#include "InputModeWindow.h"
CTextService::CTextService()
@@ -152,6 +153,9 @@ STDAPI CTextService::ActivateEx(ITfThreadMgr *ptim, TfClientId tid, DWORD dwFlag
_pThreadMgr->AddRef();
_ClientId = tid;
+ CCandidateWindow::_InitClass();
+ CInputModeWindow::_InitClass();
+
if (!_IsKeyboardOpen())
{
_KeyboardSetDefaultMode();
@@ -240,6 +244,9 @@ STDAPI CTextService::Deactivate()
_UninitFont();
+ CCandidateWindow::_UninitClass();
+ CInputModeWindow::_UninitClass();
+
SafeRelease(&_pThreadMgr);
_ClientId = TF_CLIENTID_NULL;
diff --git a/installer/README.TXT b/installer/README.TXT
index 8b4bc053..bec3bf9d 100644
--- a/installer/README.TXT
+++ b/installer/README.TXT
@@ -1,7 +1,7 @@
==============================================================================
- CorvusSKK ver. 2.1.0
+ CorvusSKK ver. 2.1.1
https://nathancorvussolis.github.io/
nathancorvussolis@gmail.com
@@ -29,6 +29,6 @@
マニュアル
- https://github.com/nathancorvussolis/corvusskk/blob/2.1.0/README.md
+ https://github.com/nathancorvussolis/corvusskk/blob/2.1.1/README.md
==============================================================================
diff --git a/installer/_version.cmd b/installer/_version.cmd
index cd89aa54..0f2e389d 100644
--- a/installer/_version.cmd
+++ b/installer/_version.cmd
@@ -1,2 +1,2 @@
-set VERSION=2.1.0
+set VERSION=2.1.1
diff --git a/installer/corvusskk-x64.wxs b/installer/corvusskk-x64.wxs
index 5fdf2444..26bbaea8 100644
--- a/installer/corvusskk-x64.wxs
+++ b/installer/corvusskk-x64.wxs
@@ -1,7 +1,7 @@
-
+
diff --git a/installer/corvusskk-x86.wxs b/installer/corvusskk-x86.wxs
index 4a685457..013351be 100644
--- a/installer/corvusskk-x86.wxs
+++ b/installer/corvusskk-x86.wxs
@@ -1,7 +1,7 @@
-
+
diff --git a/installer/md_image/01_dictionary.png b/installer/md_image/01_dictionary.png
index 3a900fb7..fc3dfac5 100644
Binary files a/installer/md_image/01_dictionary.png and b/installer/md_image/01_dictionary.png differ
diff --git a/installer/md_image/02_behavior.png b/installer/md_image/02_behavior.png
index a32b6a2a..8d882f9c 100644
Binary files a/installer/md_image/02_behavior.png and b/installer/md_image/02_behavior.png differ
diff --git a/installer/md_image/03_display.png b/installer/md_image/03_display.png
index 16f45b51..ef0cf941 100644
Binary files a/installer/md_image/03_display.png and b/installer/md_image/03_display.png differ
diff --git a/installer/md_image/04_display_attribute_1.png b/installer/md_image/04_display_attribute_1.png
index ecedaf84..b6af5028 100644
Binary files a/installer/md_image/04_display_attribute_1.png and b/installer/md_image/04_display_attribute_1.png differ
diff --git a/installer/md_image/05_display_attribute_2.png b/installer/md_image/05_display_attribute_2.png
index 76ff7b19..eb349798 100644
Binary files a/installer/md_image/05_display_attribute_2.png and b/installer/md_image/05_display_attribute_2.png differ
diff --git a/installer/md_image/06_select_key.png b/installer/md_image/06_select_key.png
index 77474742..54cd93e7 100644
Binary files a/installer/md_image/06_select_key.png and b/installer/md_image/06_select_key.png differ
diff --git a/installer/md_image/07_on_off_key.png b/installer/md_image/07_on_off_key.png
index 5632ecc3..766be5be 100644
Binary files a/installer/md_image/07_on_off_key.png and b/installer/md_image/07_on_off_key.png differ
diff --git a/installer/md_image/08_key1_character.png b/installer/md_image/08_key1_character.png
index 5600a8b3..870407bf 100644
Binary files a/installer/md_image/08_key1_character.png and b/installer/md_image/08_key1_character.png differ
diff --git a/installer/md_image/09_key2_virtual_key.png b/installer/md_image/09_key2_virtual_key.png
index e1b436f9..0a314747 100644
Binary files a/installer/md_image/09_key2_virtual_key.png and b/installer/md_image/09_key2_virtual_key.png differ
diff --git a/installer/md_image/10_conversion_point.png b/installer/md_image/10_conversion_point.png
index 58c0f3de..f2d1a171 100644
Binary files a/installer/md_image/10_conversion_point.png and b/installer/md_image/10_conversion_point.png differ
diff --git a/installer/md_image/11_kana.png b/installer/md_image/11_kana.png
index 98a49737..82def2a3 100644
Binary files a/installer/md_image/11_kana.png and b/installer/md_image/11_kana.png differ
diff --git a/installer/md_image/12_full_width_latin.png b/installer/md_image/12_full_width_latin.png
index 08aa006d..799deebc 100644
Binary files a/installer/md_image/12_full_width_latin.png and b/installer/md_image/12_full_width_latin.png differ
diff --git a/installer/md_image/21_convert_program.png b/installer/md_image/21_convert_program.png
index 3bf69681..674e61a1 100644
Binary files a/installer/md_image/21_convert_program.png and b/installer/md_image/21_convert_program.png differ
diff --git a/installer/md_image/22_convert_number.png b/installer/md_image/22_convert_number.png
index 407796a4..1b20155a 100644
Binary files a/installer/md_image/22_convert_number.png and b/installer/md_image/22_convert_number.png differ
diff --git a/installer/md_image/23_convert_unicode_codepoint.png b/installer/md_image/23_convert_unicode_codepoint.png
index c47d1652..15e80f12 100644
Binary files a/installer/md_image/23_convert_unicode_codepoint.png and b/installer/md_image/23_convert_unicode_codepoint.png differ
diff --git a/installer/md_image/24_convert_unicode_jisx0213.png b/installer/md_image/24_convert_unicode_jisx0213.png
index 9fd045e9..a7a5565e 100644
Binary files a/installer/md_image/24_convert_unicode_jisx0213.png and b/installer/md_image/24_convert_unicode_jisx0213.png differ
diff --git a/installer/md_image/25_convert_character_display.png b/installer/md_image/25_convert_character_display.png
index 3234d1b5..d124bca0 100644
Binary files a/installer/md_image/25_convert_character_display.png and b/installer/md_image/25_convert_character_display.png differ
diff --git a/installer/md_image/26_register_annotation.png b/installer/md_image/26_register_annotation.png
index 505d3014..22a7a3af 100644
Binary files a/installer/md_image/26_register_annotation.png and b/installer/md_image/26_register_annotation.png differ