jbanner は, 日本語を含む文字列を拡大し, バナーとして画面に表示するコマンドです。
Revisión | 9f98809cafd8f0f91159b1065ae636cac1f54e8a (tree) |
---|---|
Tiempo | 2019-06-19 13:10:51 |
Autor | Tadamegu Furukawa <tfuruka1@gw.n...> |
Commiter | Tadamegu Furukawa |
Only MinGW. charset is utf-8
@@ -1,13 +1,12 @@ | ||
1 | -/* -*- mode: c++; coding: sjis-dos; -*- | |
2 | - * Time-stamp: <2003-06-01 15:29:26 tfuruka1> | |
1 | +/* -*- mode: c++; coding: utf-8; -*- | |
3 | 2 | * Copyright (C) 2003 Tadamegu Furukawa |
4 | 3 | * |
5 | - * 共通モジュール | |
4 | + * 蜈ア騾壹Δ繧ク繝・繝シ繝ォ | |
6 | 5 | * |
7 | 6 | * $Id: comm.c,v 1.1 2004/01/19 09:01:28 tfuruka1 Exp $ |
8 | - * $Log: comm.c,v $ | |
9 | - * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
10 | - * リビジョン管理をRCSからCVSへ変更しました。 | |
7 | + * $Log: comm.c,v $ | |
8 | + * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
9 | + * 繝ェ繝薙ず繝ァ繝ウ邂。逅?rRCS縺九iCVS縺ク螟画峩縺励∪縺励◆縲 | |
11 | 10 | * |
12 | 11 | * Revision 1.1 2003/06/01 08:23:11 tfuruka1 |
13 | 12 | * Initial revision |
@@ -24,8 +23,8 @@ | ||
24 | 23 | #endif |
25 | 24 | |
26 | 25 | /*-------------------------------------------------------------------- |
27 | - * Unixのbasenameと同じ。返却するポインタは一時的なポインタなので、必 | |
28 | - * ずコピーして使用する必要がある。 | |
26 | + * Unix縺ョbasename縺ィ蜷後§縲りソ泌唆縺吶k繝昴う繝ウ繧ソ縺ッ荳?譎ら噪縺ェ繝昴う繝ウ繧ソ縺ェ縺ョ縺ァ縲∝ソ | |
27 | + * 縺壹さ繝斐?縺励※菴ソ逕ィ縺吶k蠢?ヲ√′縺ゅk縲 | |
29 | 28 | * *-------------------------------------------------------------------*/ |
30 | 29 | LPCTSTR WINAPI |
31 | 30 | BaseName(LPCTSTR lpszPath) |
@@ -39,16 +38,16 @@ BaseName(LPCTSTR lpszPath) | ||
39 | 38 | b = strchr(lpszPath, '/'); |
40 | 39 | #endif |
41 | 40 | |
42 | - if (a == b) { // 等しい時は NULLしかない | |
41 | + if (a == b) { // 遲峨@縺?凾縺ッ NULL縺励°縺ェ縺 | |
43 | 42 | return lpszPath; |
44 | 43 | } |
45 | 44 | |
46 | 45 | return ((ULONG)a > (ULONG)b ? a : b) + 1; |
47 | 46 | } |
48 | 47 | /*-------------------------------------------------------------------- |
49 | - * Unixのbasenameと同じ。返却するポインタは一時的なポインタなので、必 | |
50 | - * ずコピーして使用する必要がある。ショートファイル名が指定されても、 | |
51 | - * ロングファイル名へ変換します。 | |
48 | + * Unix縺ョbasename縺ィ蜷後§縲りソ泌唆縺吶k繝昴う繝ウ繧ソ縺ッ荳?譎ら噪縺ェ繝昴う繝ウ繧ソ縺ェ縺ョ縺ァ縲∝ソ | |
49 | + * 縺壹さ繝斐?縺励※菴ソ逕ィ縺吶k蠢?ヲ√′縺ゅk縲ゅす繝ァ繝シ繝医ヵ繧。繧、繝ォ蜷阪′謖?ョ壹&繧後※繧ゅ? | |
50 | + * 繝ュ繝ウ繧ー繝輔ぃ繧、繝ォ蜷阪∈螟画鋤縺励∪縺吶? | |
52 | 51 | * *-------------------------------------------------------------------*/ |
53 | 52 | LPCTSTR WINAPI |
54 | 53 | GetLongBaseName(LPCTSTR lpszPath) |
@@ -65,14 +64,14 @@ GetLongBaseName(LPCTSTR lpszPath) | ||
65 | 64 | } |
66 | 65 | |
67 | 66 | /*-------------------------------------------------------------------- |
68 | - * dwErrに対応するエラーメッセージを返却する。dwErrはGetLastError()で | |
69 | - * 取得した値を指定する。 | |
67 | + * dwErr縺ォ蟇セ蠢懊☆繧九お繝ゥ繝シ繝。繝?そ繝シ繧ク繧定ソ泌唆縺吶k縲EwErr縺ッGetLastError()縺ァ | |
68 | + * 蜿門セ励@縺溷?、繧呈欠螳壹☆繧九? | |
70 | 69 | * *-------------------------------------------------------------------*/ |
71 | 70 | LPCSTR WINAPI |
72 | 71 | GetLastErrorMessage(LPCSTR lpsz, DWORD dwErr) |
73 | 72 | { |
74 | 73 | #ifdef _WIN32_WCE |
75 | - static LPTSTR sz = "WindowsCE では GetLastErrorMessage は未サポートです"; | |
74 | + static LPTSTR sz = "WindowsCE 縺ァ縺ッ GetLastErrorMessage 縺ッ譛ェ繧オ繝昴?繝医〒縺?; | |
76 | 75 | return sz; |
77 | 76 | #else |
78 | 77 | static TCHAR sz[1024]; |
@@ -99,12 +98,12 @@ GetLastErrorMessage(LPCSTR lpsz, DWORD dwErr) | ||
99 | 98 | } |
100 | 99 | |
101 | 100 | /*-------------------------------------------------------------------- |
102 | - * UNIXのSyslogの簡易版。常にdebug.local7しか出力しません。 | |
101 | + * UNIX縺ョSyslog縺ョ邁。譏鍋沿縲ょクク縺ォdebug.local7縺励°蜃コ蜉帙@縺セ縺帙s縲 | |
103 | 102 | * *-------------------------------------------------------------------*/ |
104 | 103 | VOID WINAPI |
105 | -Syslogger(BOOL bStdOut, // T:stdoutにも出力 | |
106 | - LPCSTR lpstr, // 書式printfと同じ | |
107 | - ... // 引数 | |
104 | +Syslogger(BOOL bStdOut, // T:stdout縺ォ繧ょ?蜉 | |
105 | + LPCSTR lpstr, // 譖ク蠑術rintf縺ィ蜷後§ | |
106 | + ... // 蠑墓焚 | |
108 | 107 | ) |
109 | 108 | { |
110 | 109 | WSADATA wsaData; |
@@ -112,21 +111,21 @@ Syslogger(BOOL bStdOut, // T:stdout | ||
112 | 111 | PSERVENT sp; |
113 | 112 | SOCKADDR_IN sin; |
114 | 113 | LPHOSTENT lpHost; |
115 | - va_list args; // 引数展開用 | |
114 | + va_list args; // 蠑墓焚螻暮幕逕ィ | |
116 | 115 | char szLine[1024 * 64], szBuf[1024], *p; |
117 | 116 | |
118 | - // モジュール名のフルパスを得る | |
117 | + // 繝「繧ク繝・繝シ繝ォ蜷阪?繝輔Ν繝代せ繧貞セ励k | |
119 | 118 | if (!GetModuleFileName(GetModuleHandle(NULL), szBuf, 1024)) { |
120 | 119 | return; |
121 | 120 | } |
122 | - // ファイル名部分だけ切り出す | |
121 | + // 繝輔ぃ繧、繝ォ蜷埼Κ蛻?□縺大?繧雁?縺 | |
123 | 122 | if (NULL == (p = strrchr(szBuf, '\\'))) { |
124 | 123 | return; |
125 | 124 | } |
126 | 125 | // FACILITY = 23, LEVEL = 7 |
127 | 126 | sprintf(szLine, "<%d>[%s] ", 7 + 23 * 8, p + 1); |
128 | 127 | |
129 | - // 文字列を書式に合せて整形する | |
128 | + // 譁?ュ怜?繧呈嶌蠑上↓蜷医○縺ヲ謨エ蠖「縺吶k | |
130 | 129 | va_start(args, lpstr); |
131 | 130 | vsprintf(szLine + strlen(szLine), lpstr, args); |
132 | 131 | va_end(args); |
@@ -1,20 +1,19 @@ | ||
1 | -/* -*- mode: c++; coding: sjis-dos; -*- | |
2 | - * Time-stamp: <2003-06-07 21:59:35 tfuruka1> | |
1 | +/* -*- mode: c++; coding: utf-8; -*- | |
3 | 2 | * Copyright (C) 2003 Tadamegu Furukawa |
4 | 3 | * |
5 | - * gdiに関連する関数 - 実際にはフォント部分しか存在していないが・・・ | |
4 | + * gdi縺ォ髢「騾」縺吶k髢「謨ー - 螳滄圀縺ォ縺ッ繝輔か繝ウ繝磯Κ蛻?@縺句ュ伜惠縺励※縺?↑縺?′繝サ繝サ繝サ | |
6 | 5 | * |
7 | 6 | * $Id: gdi_wrap.c,v 1.1 2004/01/19 09:01:28 tfuruka1 Exp $ |
8 | - * $Log: gdi_wrap.c,v $ | |
9 | - * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
10 | - * リビジョン管理をRCSからCVSへ変更しました。 | |
7 | + * $Log: gdi_wrap.c,v $ | |
8 | + * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
9 | + * 繝ェ繝薙ず繝ァ繝ウ邂。逅?rRCS縺九iCVS縺ク螟画峩縺励∪縺励◆縲 | |
11 | 10 | * |
12 | 11 | * Revision 1.3 2003/06/08 11:22:10 tfuruka1 |
13 | - * フォントを列挙する関数を追加した。 | |
12 | + * 繝輔か繝ウ繝医r蛻玲嫌縺吶k髢「謨ー繧定ソス蜉?縺励◆縲 | |
14 | 13 | * |
15 | 14 | * Revision 1.2 2003/06/05 13:50:40 tfuruka1 |
16 | - * ● -c オプションで文字列をできるように修正した事に伴う修正。 | |
17 | - * ● フォントで斜体、ボールド、中線をそのまま反映するように修正。 | |
15 | + * 笳 -c 繧ェ繝励す繝ァ繝ウ縺ァ譁?ュ怜?繧偵〒縺阪k繧医≧縺ォ菫ョ豁」縺励◆莠九↓莨エ縺?ソョ豁」縲 | |
16 | + * 笳 繝輔か繝ウ繝医〒譁應ス薙?√?繝シ繝ォ繝峨?∽クュ邱壹r縺昴?縺セ縺セ蜿肴丐縺吶k繧医≧縺ォ菫ョ豁」縲 | |
18 | 17 | * |
19 | 18 | * Revision 1.1 2003/06/01 08:22:11 tfuruka1 |
20 | 19 | * Initial revision |
@@ -24,22 +23,22 @@ | ||
24 | 23 | #include "jbanner.h" |
25 | 24 | |
26 | 25 | /* |
27 | - * SDK32:コンソールウィンドウのハンドル取得 | |
26 | + * SDK32:繧ウ繝ウ繧ス繝シ繝ォ繧ヲ繧」繝ウ繝峨え縺ョ繝上Φ繝峨Ν蜿門セ | |
28 | 27 | * |
29 | - * 本関数は以下の記事を参考にして作成しました。 | |
28 | + * 譛ャ髢「謨ー縺ッ莉・荳九?險倅コ九r蜿り??↓縺励※菴懈?縺励∪縺励◆縲 | |
29 | + * | |
30 | + * 譛?邨よ峩譁ー譌・: 1999/02/09 | |
31 | + * 譁?嶌逡ェ蜿キ: J046738 | |
32 | + * | |
33 | + * 縺薙?雉?侭縺ッ莉・荳九↓縺、縺?※險倩ソー縺励◆繧ゅ?縺ァ縺吶? | |
30 | 34 | * |
31 | - * 最終更新日: 1999/02/09 | |
32 | - * 文書番号: J046738 | |
33 | - * | |
34 | - * この資料は以下について記述したものです。 | |
35 | - * | |
36 | 35 | * Microsoft(R) Win32(R) Software Development Kit (SDK) |
37 | - * | |
38 | - * この資料は、米国 Microsoft Corporation から提供されている Knowledge | |
39 | - * Base の Article ID Q124103 (最終更新日 1988-12-23) をもとに作成した | |
40 | - * ものです。 | |
36 | + * | |
37 | + * 縺薙?雉?侭縺ッ縲∫アウ蝗ス Microsoft Corporation 縺九i謠蝉セ帙&繧後※縺?k Knowledge | |
38 | + * Base 縺ョ Article ID Q124103 (譛?邨よ峩譁ー譌・ 1988-12-23) 繧偵b縺ィ縺ォ菴懈?縺励◆ | |
39 | + * 繧ゅ?縺ァ縺吶? | |
41 | 40 | */ |
42 | -#define MY_BUFSIZE 1024 // コンソールのタイトル用 | |
41 | +#define MY_BUFSIZE 1024 // 繧ウ繝ウ繧ス繝シ繝ォ縺ョ繧ソ繧、繝医Ν逕ィ | |
43 | 42 | HWND GetConsoleHwnd(VOID) |
44 | 43 | { |
45 | 44 | HWND hwndFound; |
@@ -47,30 +46,30 @@ HWND GetConsoleHwnd(VOID) | ||
47 | 46 | char pszOldWindowTitle[MY_BUFSIZE]; |
48 | 47 | int i; |
49 | 48 | |
50 | - // コンソールタイトルの取得 | |
49 | + // 繧ウ繝ウ繧ス繝シ繝ォ繧ソ繧、繝医Ν縺ョ蜿門セ | |
51 | 50 | GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE); |
52 | 51 | |
53 | - // 独自に、ウィンドウの新規タイトルをフォーマットします | |
52 | + // 迢ャ閾ェ縺ォ縲√え繧」繝ウ繝峨え縺ョ譁ー隕上ち繧、繝医Ν繧偵ヵ繧ゥ繝シ繝槭ャ繝医@縺セ縺 | |
54 | 53 | wsprintf(pszNewWindowTitle,"%d/%d-%s", |
55 | 54 | GetTickCount(), |
56 | 55 | GetCurrentProcessId(), |
57 | 56 | pszOldWindowTitle); |
58 | 57 | |
59 | - // 現在のウィンドウタイトルを変更します | |
58 | + // 迴セ蝨ィ縺ョ繧ヲ繧」繝ウ繝峨え繧ソ繧、繝医Ν繧貞、画峩縺励∪縺 | |
60 | 59 | SetConsoleTitle(pszNewWindowTitle); |
61 | 60 | |
62 | 61 | for (i = 0; i < 100; i++) { |
63 | - // ウィンドウの新規タイトルを探しにいきます | |
62 | + // 繧ヲ繧」繝ウ繝峨え縺ョ譁ー隕上ち繧、繝医Ν繧呈爾縺励↓縺?″縺セ縺 | |
64 | 63 | hwndFound = FindWindow(NULL, pszNewWindowTitle); |
65 | 64 | if (hwndFound) { |
66 | - Syslogger(FALSE, "GetConsoleHwnd(): 回数=%d, T=%s", | |
65 | + Syslogger(FALSE, "GetConsoleHwnd(): 蝗樊焚=%d, T=%s", | |
67 | 66 | i, pszNewWindowTitle); |
68 | - break; // 見つかった | |
67 | + break; // 隕九▽縺九▲縺 | |
69 | 68 | } |
70 | 69 | Sleep(10); // 10m Wait |
71 | 70 | } |
72 | 71 | |
73 | - // 元のウィンドウタイトルへ戻します | |
72 | + // 蜈??繧ヲ繧」繝ウ繝峨え繧ソ繧、繝医Ν縺ク謌サ縺励∪縺 | |
74 | 73 | SetConsoleTitle(pszOldWindowTitle); |
75 | 74 | |
76 | 75 | return hwndFound; |
@@ -78,11 +77,11 @@ HWND GetConsoleHwnd(VOID) | ||
78 | 77 | |
79 | 78 | |
80 | 79 | /* |
81 | - * フォント関連の処理(う〜ん。汚い処理だにゃ。C++でクラス化した方が良 | |
82 | - * かったな〜) | |
80 | + * 繝輔か繝ウ繝磯未騾」縺ョ蜃ヲ逅?シ医≧縲懊s縲よア壹>蜃ヲ逅?□縺ォ繧???++縺ァ繧ッ繝ゥ繧ケ蛹悶@縺滓婿縺瑚憶 | |
81 | + * 縺九▲縺溘↑縲懶シ | |
83 | 82 | */ |
84 | 83 | static LOGFONT lft = {-13, 0, 0, 0, 800, 0, 0, 0, SHIFTJIS_CHARSET, |
85 | - 3, 2, 1, 49, TEXT("MS ゴシック")}; | |
84 | + 3, 2, 1, 49, TEXT("?ュ?ウ 繧エ繧キ繝?け")}; | |
86 | 85 | static int numCallBack = 0; |
87 | 86 | static int CALLBACK |
88 | 87 | EnumFontFamProc( |
@@ -92,22 +91,22 @@ EnumFontFamProc( | ||
92 | 91 | LPARAM lParam // address of application-defined data |
93 | 92 | ) |
94 | 93 | { |
95 | - // データが存在しない場合は処理しない | |
94 | + // 繝??繧ソ縺悟ュ伜惠縺励↑縺??エ蜷医?蜃ヲ逅?@縺ェ縺 | |
96 | 95 | if (!lpelf) { |
97 | 96 | return 0; |
98 | 97 | } |
99 | 98 | |
100 | 99 | // ------------------------------ |
101 | - // フォントの作成要求の場合の処理 | |
100 | + // 繝輔か繝ウ繝医?菴懈?隕∵アゅ?蝣エ蜷医?蜃ヲ逅 | |
102 | 101 | // ------------------------------ |
103 | 102 | if (0 == lParam) { |
104 | - // 最初以外の呼び出しの場合は処理しない | |
103 | + // 譛?蛻昜サ・螟悶?蜻シ縺ウ蜃コ縺励?蝣エ蜷医?蜃ヲ逅?@縺ェ縺 | |
105 | 104 | if (numCallBack) { |
106 | 105 | return 0; |
107 | 106 | } |
108 | 107 | numCallBack++; |
109 | 108 | |
110 | - Syslogger(FALSE, "選択フォントファミリ: %s, %s", | |
109 | + Syslogger(FALSE, "驕ク謚槭ヵ繧ゥ繝ウ繝医ヵ繧。繝溘Μ: %s, %s", | |
111 | 110 | lpelf->elfFullName, |
112 | 111 | (FontType == DEVICE_FONTTYPE) ? "Device-Font" |
113 | 112 | : ((FontType == RASTER_FONTTYPE) ? "Raster-Font" |
@@ -117,11 +116,11 @@ EnumFontFamProc( | ||
117 | 116 | } |
118 | 117 | else { |
119 | 118 | // ------------------------ |
120 | - // フォントの一覧表示の場合 | |
119 | + // 繝輔か繝ウ繝医?荳?隕ァ陦ィ遉コ縺ョ蝣エ蜷 | |
121 | 120 | // ------------------------ |
122 | 121 | |
123 | - // フォントの一意な名前, フォントのスタイル, フォントの書体名 | |
124 | - // を表示する | |
122 | + // 繝輔か繝ウ繝医?荳?諢上↑蜷榊燕, 繝輔か繝ウ繝医?繧ケ繧ソ繧、繝ォ, 繝輔か繝ウ繝医?譖ク菴灘錐 | |
123 | + // 繧定。ィ遉コ縺吶k | |
125 | 124 | printf("\"%s\"\t\"%s\"\t\"%s\"\n", lpelf->elfFullName, |
126 | 125 | lpelf->elfStyle, lpelf->elfLogFont.lfFaceName); |
127 | 126 | } |
@@ -129,7 +128,7 @@ EnumFontFamProc( | ||
129 | 128 | } |
130 | 129 | |
131 | 130 | /* |
132 | - * フォントの一覧を表示する | |
131 | + * 繝輔か繝ウ繝医?荳?隕ァ繧定。ィ遉コ縺吶k | |
133 | 132 | */ |
134 | 133 | VOID WINAPI |
135 | 134 | LsFont(LPTSTR lpszFamily) |
@@ -139,7 +138,7 @@ LsFont(LPTSTR lpszFamily) | ||
139 | 138 | DeleteDC(hDC); |
140 | 139 | } |
141 | 140 | /* |
142 | - * フォントファミリ名からデフォルトの論理フォントを作成する | |
141 | + * 繝輔か繝ウ繝医ヵ繧。繝溘Μ蜷阪°繧峨ョ繝輔か繝ォ繝医?隲也炊繝輔か繝ウ繝医r菴懈?縺吶k | |
143 | 142 | */ |
144 | 143 | BOOL WINAPI SetLogFont(LPCTSTR lpszFamily) |
145 | 144 | { |
@@ -151,9 +150,9 @@ BOOL WINAPI SetLogFont(LPCTSTR lpszFamily) | ||
151 | 150 | return numCallBack; |
152 | 151 | } |
153 | 152 | |
154 | -/* | |
155 | - * フォントを作成する。フォントファミリが変更になる場合は、予め | |
156 | - * SetLogFont関数で論理フォントを初期化し直す必要があります。 | |
153 | +/* | |
154 | + * 繝輔か繝ウ繝医r菴懈?縺吶k縲ゅヵ繧ゥ繝ウ繝医ヵ繧。繝溘Μ縺悟、画峩縺ォ縺ェ繧句?エ蜷医?縲∽コ医a | |
155 | + * SetLogFont髢「謨ー縺ァ隲也炊繝輔か繝ウ繝医r蛻晄悄蛹悶@逶エ縺吝ソ?ヲ√′縺ゅj縺セ縺吶? | |
157 | 156 | */ |
158 | 157 | static HFONT WINAPI |
159 | 158 | CreateBannerFont(int nHeight) |
@@ -169,36 +168,36 @@ CreateBannerFont(int nHeight) | ||
169 | 168 | } |
170 | 169 | |
171 | 170 | /* |
172 | - * バナーを描画する。なんらかのエラーが発生した場合は、0(FALSE)を返却 | |
173 | - * し、正常に終了した場合は、0以外(TRUE)を返却します。 | |
171 | + * 繝舌リ繝シ繧呈緒逕サ縺吶k縲ゅ↑繧薙i縺九?繧ィ繝ゥ繝シ縺檎匱逕溘@縺溷?エ蜷医?縲?(FALSE)繧定ソ泌唆 | |
172 | + * 縺励?∵ュ」蟶ク縺ォ邨ゆコ?@縺溷?エ蜷医?縲?莉・螟?TRUE)繧定ソ泌唆縺励∪縺吶? | |
174 | 173 | */ |
175 | 174 | BOOL WINAPI |
176 | 175 | DrawBanner( |
177 | - LPTSTR lpszUseChar, // 表示文字 | |
178 | - int nScreenWidth, // 表示幅 | |
179 | - int nFontSize, // フォントサイズ | |
180 | - LPTSTR lpszString, // 表示文字列 | |
181 | - BOOL bDebug // T:デバッグ | |
176 | + LPTSTR lpszUseChar, // 陦ィ遉コ譁?ュ | |
177 | + int nScreenWidth, // 陦ィ遉コ蟷 | |
178 | + int nFontSize, // 繝輔か繝ウ繝医し繧、繧コ | |
179 | + LPTSTR lpszString, // 陦ィ遉コ譁?ュ怜? | |
180 | + BOOL bDebug // T:繝?ヰ繝?げ | |
182 | 181 | ) |
183 | 182 | { |
184 | - HWND hWnd; // ウインドウハンドル | |
185 | - HFONT hFont; // フォント | |
186 | - HFONT hOldFont; // 古いフォント | |
187 | - RECT rc; // 描画粋 | |
188 | - HDC hDC; // デバイスコンテキスト | |
189 | - HDC hMemDC; // デバイスコンテキスト(仮想) | |
190 | - HBITMAP hBitMap; // ビットマップ | |
191 | - HBITMAP hOldBitmap; // 古いビットマップ | |
192 | - | |
193 | - BYTE szLine[MAX_WIDTH]; // バナーの一行 | |
194 | - LPTSTR lpszBgChar; // 背景の文字 | |
195 | - | |
196 | - int x, y, ht; // 幅と高さ | |
197 | - int i; // 汎用 | |
198 | - | |
199 | - // 背景の文字を設定する | |
183 | + HWND hWnd; // 繧ヲ繧、繝ウ繝峨え繝上Φ繝峨Ν | |
184 | + HFONT hFont; // 繝輔か繝ウ繝 | |
185 | + HFONT hOldFont; // 蜿、縺?ヵ繧ゥ繝ウ繝 | |
186 | + RECT rc; // 謠冗判邊 | |
187 | + HDC hDC; // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝 | |
188 | + HDC hMemDC; // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝茨シ井サョ諠ウ? | |
189 | + HBITMAP hBitMap; // 繝薙ャ繝医?繝?? | |
190 | + HBITMAP hOldBitmap; // 蜿、縺?ン繝?ヨ繝槭ャ繝 | |
191 | + | |
192 | + char szLine[MAX_WIDTH]; // 繝舌リ繝シ縺ョ荳?陦 | |
193 | + LPTSTR lpszBgChar; // 閭梧勹縺ョ譁?ュ | |
194 | + | |
195 | + int x, y, ht; // 蟷?→鬮倥& | |
196 | + int i; // 豎守畑 | |
197 | + | |
198 | + // 閭梧勹縺ョ譁?ュ励r險ュ螳壹☆繧 | |
200 | 199 | if (!(lpszBgChar = malloc(strlen(lpszUseChar + 1)))) { |
201 | - fprintf(stderr, "メモリの確保に失敗[%s:%d]", __FILE__, __LINE__); | |
200 | + fprintf(stderr, "繝。繝「繝ェ縺ョ遒コ菫昴↓螟ア謨夕%s:%d]", __FILE__, __LINE__); | |
202 | 201 | return FALSE; |
203 | 202 | } |
204 | 203 |
@@ -212,24 +211,24 @@ DrawBanner( | ||
212 | 211 | } |
213 | 212 | } |
214 | 213 | |
215 | - // ウインドウハンドルの取得 | |
214 | + // 繧ヲ繧、繝ウ繝峨え繝上Φ繝峨Ν縺ョ蜿門セ | |
216 | 215 | if (!(hWnd = GetConsoleHwnd())) { |
217 | - fprintf(stderr, "ウインドウハンドルの取得に失敗しました\n"); | |
216 | + fprintf(stderr, "繧ヲ繧、繝ウ繝峨え繝上Φ繝峨Ν縺ョ蜿門セ励↓螟ア謨励@縺セ縺励◆\n"); | |
218 | 217 | return FALSE; |
219 | 218 | } |
220 | 219 | |
221 | - // 描画粋の設定 | |
220 | + // 謠冗判邊九?險ュ螳 | |
222 | 221 | rc.top = rc.left = 0; |
223 | 222 | rc.right = nScreenWidth; |
224 | - rc.bottom = nFontSize * 2; // 小文字のgとかの為2倍 | |
223 | + rc.bottom = nFontSize * 2; // 蟆乗枚蟄励?g縺ィ縺九?轤コ2蛟 | |
225 | 224 | |
226 | - // デバイスコンテキストの取得 | |
225 | + // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝医?蜿門セ | |
227 | 226 | if (!(hDC = GetDC(hWnd))) { |
228 | - fprintf(stderr, "デバイスコンテキストの取得に失敗しました。\n"); | |
227 | + fprintf(stderr, "繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝医?蜿門セ励↓螟ア謨励@縺セ縺励◆縲?n"); | |
229 | 228 | return FALSE; |
230 | 229 | } |
231 | 230 | |
232 | - // 仮想デバイスコンテキストを作成する | |
231 | + // 莉ョ諠ウ繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝医r菴懈?縺吶k | |
233 | 232 | if (!(hMemDC = CreateCompatibleDC(hDC))) { |
234 | 233 | fprintf(stderr, "%s\n", |
235 | 234 | GetLastErrorMessage("CreateCompatibleDC", |
@@ -238,59 +237,59 @@ DrawBanner( | ||
238 | 237 | return FALSE; |
239 | 238 | } |
240 | 239 | |
241 | - // ビットマップの作成 | |
240 | + // 繝薙ャ繝医?繝??縺ョ菴懈? | |
242 | 241 | if (!(hBitMap = CreateBitmap(nScreenWidth, rc.bottom, 1, 1, NULL))) { |
243 | - fprintf(stderr, "ビットマップの作成に失敗しました\n"); | |
244 | - DeleteDC(hMemDC); // デバイスコンテキスト削除 | |
245 | - ReleaseDC(hWnd, hDC); // デバイスコンテキストの開放 | |
242 | + fprintf(stderr, "繝薙ャ繝医?繝??縺ョ菴懈?縺ォ螟ア謨励@縺セ縺励◆\n"); | |
243 | + DeleteDC(hMemDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝亥炎髯、 | |
244 | + ReleaseDC(hWnd, hDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝医?髢区叛 | |
246 | 245 | return FALSE; |
247 | 246 | } |
248 | 247 | |
249 | - // ビットマップの選択 | |
248 | + // 繝薙ャ繝医?繝??縺ョ驕ク謚 | |
250 | 249 | if (!(hOldBitmap = SelectObject(hMemDC, hBitMap))) { |
251 | - fprintf(stderr, "ビットマップの選択に失敗しました。\n"); | |
252 | - DeleteDC(hMemDC); // デバイスコンテキスト削除 | |
253 | - DeleteObject(hBitMap); // ビットマップ削除 | |
254 | - ReleaseDC(hWnd, hDC); // デバイスコンテキストの開放 | |
250 | + fprintf(stderr, "繝薙ャ繝医?繝??縺ョ驕ク謚槭↓螟ア謨励@縺セ縺励◆縲?n"); | |
251 | + DeleteDC(hMemDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝亥炎髯、 | |
252 | + DeleteObject(hBitMap); // 繝薙ャ繝医?繝??蜑企勁 | |
253 | + ReleaseDC(hWnd, hDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝医?髢区叛 | |
255 | 254 | return FALSE; |
256 | 255 | } |
257 | 256 | |
258 | - // フォントの作成 | |
257 | + // 繝輔か繝ウ繝医?菴懈? | |
259 | 258 | if (!(hFont = CreateBannerFont(-nFontSize))) { |
260 | 259 | fprintf(stderr, "%s\n", |
261 | 260 | GetLastErrorMessage("CreateFont", GetLastError())); |
262 | - SelectObject(hMemDC, hOldBitmap); // ビットマップを戻す | |
263 | - DeleteDC(hMemDC); // デバイスコンテキスト削除 | |
264 | - DeleteObject(hBitMap); // ビットマップの削除 | |
265 | - ReleaseDC(hWnd, hDC); // デバイスコンテキストの開放 | |
261 | + SelectObject(hMemDC, hOldBitmap); // 繝薙ャ繝医?繝??繧呈綾縺 | |
262 | + DeleteDC(hMemDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝亥炎髯、 | |
263 | + DeleteObject(hBitMap); // 繝薙ャ繝医?繝??縺ョ蜑企勁 | |
264 | + ReleaseDC(hWnd, hDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝医?髢区叛 | |
266 | 265 | return FALSE; |
267 | 266 | } |
268 | 267 | |
269 | - // フォントの選択 | |
268 | + // 繝輔か繝ウ繝医?驕ク謚 | |
270 | 269 | if (!(hOldFont = SelectObject(hMemDC, hFont))) { |
271 | - fprintf(stderr, "オブジェクトの選択(FONT)に失敗しました。\n"); | |
272 | - DeleteObject(hFont); // フォントの削除 | |
273 | - SelectObject(hMemDC, hOldBitmap); // ビットマップを戻す | |
274 | - DeleteDC(hMemDC); // デバイスコンテキスト削除 | |
275 | - DeleteObject(hBitMap); // ビットマップの削除 | |
276 | - ReleaseDC(hWnd, hDC); // デバイスコンテキスト開放 | |
270 | + fprintf(stderr, "繧ェ繝悶ず繧ァ繧ッ繝医?驕ク謚?FONT)縺ォ螟ア謨励@縺セ縺励◆縲?n"); | |
271 | + DeleteObject(hFont); // 繝輔か繝ウ繝医?蜑企勁 | |
272 | + SelectObject(hMemDC, hOldBitmap); // 繝薙ャ繝医?繝??繧呈綾縺 | |
273 | + DeleteDC(hMemDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝亥炎髯、 | |
274 | + DeleteObject(hBitMap); // 繝薙ャ繝医?繝??縺ョ蜑企勁 | |
275 | + ReleaseDC(hWnd, hDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝磯幕謾セ | |
277 | 276 | return FALSE; |
278 | 277 | } |
279 | 278 | |
280 | - // フォントの色の設定 | |
279 | + // 繝輔か繝ウ繝医?濶イ縺ョ險ュ螳 | |
281 | 280 | SetTextColor(hMemDC, RGB(255, 255, 255)); |
282 | 281 | SetBkColor(hMemDC, RGB(0, 0, 0)); |
283 | 282 | |
284 | - // 描画 | |
283 | + // 謠冗判 | |
285 | 284 | ht = DrawText(hMemDC, lpszString, -1, &rc, |
286 | 285 | DT_LEFT | DT_TOP | DT_SINGLELINE); |
287 | 286 | |
288 | - // デバッグモードの場合はコンソールに転送する | |
287 | + // 繝?ヰ繝?げ繝「繝シ繝峨?蝣エ蜷医?繧ウ繝ウ繧ス繝シ繝ォ縺ォ霆「騾√☆繧 | |
289 | 288 | if (bDebug) { |
290 | 289 | BitBlt(hDC, 0, 0, rc.right, rc.bottom, hMemDC, 0, 0, SRCCOPY); |
291 | 290 | } |
292 | 291 | |
293 | - // バナーに変換する | |
292 | + // 繝舌リ繝シ縺ォ螟画鋤縺吶k | |
294 | 293 | for (y = 0; y < ht; y++) { |
295 | 294 | szLine[0] = '\0'; |
296 | 295 | for (x = 0; x < nScreenWidth; x++) { |
@@ -300,13 +299,13 @@ DrawBanner( | ||
300 | 299 | printf("%s\n", TrimRightJa(TrimRight(szLine))); |
301 | 300 | } |
302 | 301 | |
303 | - // 後始末 | |
304 | - SelectObject(hMemDC, hOldFont); // フォントを戻す | |
305 | - SelectObject(hMemDC, hOldBitmap); // ビットマップを戻す | |
306 | - ReleaseDC(hWnd, hDC); // デバイスコンテキスト開放 | |
307 | - DeleteObject(hFont); // フォント削除 | |
308 | - DeleteObject(hBitMap); // ビットマップ削除 | |
309 | - DeleteDC(hMemDC); // 仮想DC削除 | |
302 | + // 蠕悟ァ区忰 | |
303 | + SelectObject(hMemDC, hOldFont); // 繝輔か繝ウ繝医r謌サ縺 | |
304 | + SelectObject(hMemDC, hOldBitmap); // 繝薙ャ繝医?繝??繧呈綾縺 | |
305 | + ReleaseDC(hWnd, hDC); // 繝?ヰ繧、繧ケ繧ウ繝ウ繝?く繧ケ繝磯幕謾セ | |
306 | + DeleteObject(hFont); // 繝輔か繝ウ繝亥炎髯、 | |
307 | + DeleteObject(hBitMap); // 繝薙ャ繝医?繝??蜑企勁 | |
308 | + DeleteDC(hMemDC); // 莉ョ諠ウDC蜑企勁 | |
310 | 309 | |
311 | 310 | return TRUE; |
312 | 311 | } |
@@ -1,19 +1,18 @@ | ||
1 | -/* -*- mode: c++; coding: sjis-dos; -*- | |
2 | - * Time-stamp: <2003-06-08 20:18:00 tfuruka1> | |
1 | +/* -*- mode: c++; coding: utf-8; -*- | |
3 | 2 | * Copyright (C) 2003 Tadamegu Furukawa |
4 | 3 | * |
5 | - * jbannerの唯一のヘッダファイル | |
4 | + * jbanner縺ョ蜚ッ荳?縺ョ繝倥ャ繝?繝輔ぃ繧、繝ォ | |
6 | 5 | * |
7 | 6 | * $Id: jbanner.h,v 1.1 2004/01/19 09:01:28 tfuruka1 Exp $ |
8 | - * $Log: jbanner.h,v $ | |
9 | - * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
10 | - * リビジョン管理をRCSからCVSへ変更しました。 | |
7 | + * $Log: jbanner.h,v $ | |
8 | + * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
9 | + * 繝ェ繝薙ず繝ァ繝ウ邂。逅?rRCS縺九iCVS縺ク螟画峩縺励∪縺励◆縲 | |
11 | 10 | * |
12 | 11 | * Revision 1.3 2003/06/08 11:18:45 tfuruka1 |
13 | - * フォントの列挙関数追加に伴うプロトタイプの追加 | |
12 | + * 繝輔か繝ウ繝医?蛻玲嫌髢「謨ー霑ス蜉?縺ォ莨エ縺??繝ュ繝医ち繧、繝励?霑ス蜉? | |
14 | 13 | * |
15 | 14 | * Revision 1.2 2003/06/05 13:51:35 tfuruka1 |
16 | - * ● DrawBanner関数の修正に伴い、プロトタイプを修正 | |
15 | + * 笳 DrawBanner髢「謨ー縺ョ菫ョ豁」縺ォ莨エ縺??√?繝ュ繝医ち繧、繝励r菫ョ豁」 | |
17 | 16 | * |
18 | 17 | * Revision 1.1 2003/06/01 08:23:29 tfuruka1 |
19 | 18 | * Initial revision |
@@ -23,55 +22,58 @@ | ||
23 | 22 | #define _JBANNER_H_ |
24 | 23 | |
25 | 24 | /* |
26 | - * Cygwinのgccで、日本語を通す為に、以下の文字はコードで埋め込んでいま | |
27 | - * す。 | |
25 | + * Cygwin縺ョgcc縺ァ縲∵律譛ャ隱槭r騾壹☆轤コ縺ォ縲∽サ・荳九?譁?ュ励?繧ウ繝シ繝峨〒蝓九a霎シ繧薙〒縺?∪ | |
26 | + * 縺吶? | |
28 | 27 | * |
29 | - * 表=\x95\x5c | |
30 | - * ソ=\x83\x5c | |
28 | + * 陦ィ=\x95\x5c | |
29 | + * 繧ス=\x83\x5c | |
30 | + * | |
31 | + * 竊 迴セ蝨ィ縺ッ荳願ィ倥?蟇セ蠢懊?荳崎ヲ√〒縺吶?ゅた繝シ繧ケ縺ィ螳溯。後ヵ繧。繧、繝ォ縺ョ繧ィ繝ウ繧ウ繝シ繝?ぅ繝ウ | |
32 | + * 繧ー繧呈欠螳壹〒縺阪k繧医≧縺ォ縺ェ縺」縺溽ぜ縺ァ縺吶? | |
31 | 33 | */ |
32 | 34 | #define VERSION "jbanner version 1.0\n"\ |
33 | 35 | " Copyright 2002, 2003 Tadamegu Furukawa\n"\ |
34 | -" 日本語を含む文字列を拡大し、バナーとして画面に\x95\x5c示します。\n\n"\ | |
35 | -" この\x83\x5cフトウエアはフリー\x83\x5cフトウエアです。転載、"\ | |
36 | -"頒布は入手したアー\n"\ | |
37 | -" カイブのままであれば、自由に行ってください。\n"\ | |
36 | +" 譌・譛ャ隱槭r蜷ォ繧?譁?ュ怜?繧呈僑螟ァ縺励?√ヰ繝翫?縺ィ縺励※逕サ髱「縺ォ陦ィ遉コ縺励∪縺吶??n\n"\ | |
37 | +" 縺薙?繧ス繝輔ヨ繧ヲ繧ィ繧「縺ッ繝輔Μ繝シ繧ス繝輔ヨ繧ヲ繧ィ繧「縺ァ縺吶?りサ「霈峨??\ | |
38 | +"鬆貞ク??蜈・謇九@縺溘い繝シ\n"\ | |
39 | +" 繧ォ繧、繝悶?縺セ縺セ縺ァ縺ゅl縺ー縲∬?逕ア縺ォ陦後▲縺ヲ縺上□縺輔>縲?n"\ | |
38 | 40 | "\n $Id: jbanner.h,v 1.1 2004/01/19 09:01:28 tfuruka1 Exp $\n" |
39 | 41 | |
40 | 42 | #include <windows.h> |
41 | 43 | #include <stdio.h> |
42 | 44 | |
43 | -// 漢字のチェック | |
45 | +// 貍「蟄励?繝√ぉ繝?け | |
44 | 46 | #define isKanjiSJIS(c) (((c) >= 0x81 && (c) <= 0x9f) ||\ |
45 | 47 | ((c) >= 0xe0 && (c) <= 0xfc)) |
46 | 48 | |
47 | -#define DEFAULT_WIDTH 80 // デフォルトの表示幅 | |
48 | -#define DEFAULT_CHAR "X" // デフォルトの文字 | |
49 | -#define DEFAULT_FONT TEXT("MS ゴシック") // デフォルトのフォント | |
50 | -#define DEFAULT_FSIZE 16 // デフォルトのフォントサイズ | |
49 | +#define DEFAULT_WIDTH 80 // 繝?ヵ繧ゥ繝ォ繝医?陦ィ遉コ蟷 | |
50 | +#define DEFAULT_CHAR "X" // 繝?ヵ繧ゥ繝ォ繝医?譁?ュ | |
51 | +#define DEFAULT_FONT TEXT("?ュ?ウ 繧エ繧キ繝?け") // 繝?ヵ繧ゥ繝ォ繝医?繝輔か繝ウ繝 | |
52 | +#define DEFAULT_FSIZE 16 // 繝?ヵ繧ゥ繝ォ繝医?繝輔か繝ウ繝医し繧、繧コ | |
51 | 53 | |
52 | -#define MAX_WIDTH 1024 // 最大表示幅 | |
54 | +#define MAX_WIDTH 1024 // 譛?螟ァ陦ィ遉コ蟷 | |
53 | 55 | |
54 | -#define Z_SPACE "\x81\x40" // 全角スペース | |
56 | +#define Z_SPACE "\x81\x40" // 蜈ィ隗偵せ繝壹?繧ケ | |
55 | 57 | // ---------------- |
56 | -// プロトタイプ宣言 | |
58 | +// 繝励Ο繝医ち繧、繝怜ョ」險? | |
57 | 59 | // ---------------- |
58 | 60 | |
59 | 61 | // -- comm.c |
60 | 62 | VOID WINAPI |
61 | -Syslogger(BOOL bStdOut, // T:stdoutにも出力 | |
62 | - LPCSTR lpstr, // 書式printfと同じ | |
63 | - ... // 引数 | |
63 | +Syslogger(BOOL bStdOut, // T:stdout縺ォ繧ょ?蜉 | |
64 | + LPCSTR lpstr, // 譖ク蠑術rintf縺ィ蜷後§ | |
65 | + ... // 蠑墓焚 | |
64 | 66 | ); |
65 | 67 | LPCTSTR WINAPI GetLongBaseName(LPCTSTR lpszPath); |
66 | 68 | LPCSTR WINAPI GetLastErrorMessage(LPCSTR lpsz, DWORD dwErr); |
67 | 69 | |
68 | 70 | // -- gdi_wrap.c |
69 | 71 | BOOL WINAPI DrawBanner( |
70 | - LPTSTR lpszUseChar, // 表示文字 | |
71 | - int ScreenWidth, // 表示幅 | |
72 | - int FontSize, // フォントサイズ | |
73 | - LPTSTR lpszString, // 表示文字列 | |
74 | - BOOL bDebug // T:デバッグ | |
72 | + LPTSTR lpszUseChar, // 陦ィ遉コ譁?ュ | |
73 | + int ScreenWidth, // 陦ィ遉コ蟷 | |
74 | + int FontSize, // 繝輔か繝ウ繝医し繧、繧コ | |
75 | + LPTSTR lpszString, // 陦ィ遉コ譁?ュ怜? | |
76 | + BOOL bDebug // T:繝?ヰ繝?げ | |
75 | 77 | ); |
76 | 78 | BOOL WINAPI SetLogFont(LPCTSTR lpszFamily); |
77 | 79 | VOID WINAPI LsFont(LPTSTR lpszFamily); |
@@ -1,23 +1,22 @@ | ||
1 | -/* -*- mode: c++; coding: sjis-dos; -*- | |
2 | - * Time-stamp: <2003-06-08 17:35:02 tfuruka1> | |
1 | +/* -*- mode: c++; coding: utf-8; -*- | |
3 | 2 | * Copyright (C) 2003 Tadamegu Furukawa |
4 | 3 | * |
5 | - * jbanner - 日本語を含む文字列を拡大し、バナーとして画面に表示します。 | |
4 | + * jbanner - 譌・譛ャ隱槭r蜷ォ繧?譁?ュ怜?繧呈僑螟ァ縺励?√ヰ繝翫?縺ィ縺励※逕サ髱「縺ォ陦ィ遉コ縺励∪縺吶? | |
6 | 5 | * |
7 | 6 | * $Id: main.c,v 1.1 2004/01/19 09:01:28 tfuruka1 Exp $ |
8 | - * $Log: main.c,v $ | |
9 | - * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
10 | - * リビジョン管理をRCSからCVSへ変更しました。 | |
7 | + * $Log: main.c,v $ | |
8 | + * Revision 1.1 2004/01/19 09:01:28 tfuruka1 | |
9 | + * 繝ェ繝薙ず繝ァ繝ウ邂。逅?rRCS縺九iCVS縺ク螟画峩縺励∪縺励◆縲 | |
11 | 10 | * |
12 | 11 | * Revision 1.4 2003/06/08 11:20:38 tfuruka1 |
13 | - * ● フォントの列挙を行うオプションを追加した。 | |
14 | - * ● 表示幅のチェックに誤りがあったので修正した。 | |
12 | + * 笳 繝輔か繝ウ繝医?蛻玲嫌繧定。後≧繧ェ繝励す繝ァ繝ウ繧定ソス蜉?縺励◆縲 | |
13 | + * 笳 陦ィ遉コ蟷??繝√ぉ繝?け縺ォ隱、繧翫′縺ゅ▲縺溘?縺ァ菫ョ豁」縺励◆縲 | |
15 | 14 | * |
16 | 15 | * Revision 1.3 2003/06/05 13:48:57 tfuruka1 |
17 | - * ● -c オプションで「文字列」を指定できるように修正。 | |
16 | + * 笳 -c 繧ェ繝励す繝ァ繝ウ縺ァ縲梧枚蟄怜?縲阪r謖?ョ壹〒縺阪k繧医≧縺ォ菫ョ豁」縲 | |
18 | 17 | * |
19 | 18 | * Revision 1.2 2003/06/01 11:17:32 tfuruka1 |
20 | - * コマンドライン解析のデバッグ用にSyslog出力を追加しました。 | |
19 | + * 繧ウ繝槭Φ繝峨Λ繧、繝ウ隗」譫舌?繝?ヰ繝?げ逕ィ縺ォSyslog蜃コ蜉帙r霑ス蜉?縺励∪縺励◆縲 | |
21 | 20 | * |
22 | 21 | * Revision 1.1 2003/06/01 08:19:58 tfuruka1 |
23 | 22 | * Initial revision |
@@ -25,39 +24,42 @@ | ||
25 | 24 | #include "jbanner.h" |
26 | 25 | |
27 | 26 | /* |
28 | - * Cygwinのgccで、日本語を通す為に、以下の文字はコードで埋め込んでいま | |
29 | - * す。 | |
27 | + * Cygwin縺ョgcc縺ァ縲∵律譛ャ隱槭r騾壹☆轤コ縺ォ縲∽サ・荳九?譁?ュ励?繧ウ繝シ繝峨〒蝓九a霎シ繧薙〒縺?∪ | |
28 | + * 縺吶? | |
30 | 29 | * |
31 | - * 表=\x95\x5c | |
32 | - * 十=\x8f\x5c | |
33 | - * ソ=\x83\x5c | |
30 | + * 陦ィ=\x95\x5c | |
31 | + * 蜊?\x8f\x5c | |
32 | + * 繧ス=\x83\x5c | |
33 | + * | |
34 | + * 竊 迴セ蝨ィ縺ッ繧ス繝シ繧ケ繧置tf-8縺ァ險倩ソー縺励?∝ョ溯。梧凾縺ョ繧ィ繝ウ繧ウ繝シ繝?ぅ繝ウ繧ー繧呈欠螳壹〒縺 | |
35 | + * 繧九h縺?↓縺ェ縺」縺溘?縺ァ縲∽ク願ィ倥?蟇セ蠢懊?荳崎ヲ√↓縺ェ繧翫∪縺励◆縲 | |
34 | 36 | */ |
35 | 37 | #define USAGE_STR "Usage: %s "\ |
36 | -"[-c X] [-w 80] [--usage] [--version] [--help] \x95\x5c示する文字列\n" | |
38 | +"[-c X] [-w 80] [--usage] [--version] [--help] 陦ィ遉コ縺吶k譁?ュ怜?\n" | |
37 | 39 | |
38 | -#define HELP_STR "Usage: %s \x95\x5c示する文字列\n\n"\ | |
39 | -"全体的なオプション\n"\ | |
40 | -" -c, --char=%s 使用する文字列 <%s>\n"\ | |
41 | -" -w, --width=%d \x95\x5c示幅を設定します。<%d>\n\n"\ | |
42 | -"ヘルプオプション\n"\ | |
43 | -" -?, --help このヘルプメッセージを\x95\x5c示します。\n"\ | |
44 | -" --usage 簡潔な使用方法を\x95\x5c示します。\n"\ | |
45 | -" --version ヴァージョン情報を\x95\x5c示します。\n\n"\ | |
46 | -"特殊オプション(WIN32)\n"\ | |
40 | +#define HELP_STR "Usage: %s 陦ィ遉コ縺吶k譁?ュ怜?\n\n"\ | |
41 | +"蜈ィ菴鍋噪縺ェ繧ェ繝励す繝ァ繝ウ\n"\ | |
42 | +" -c, --char=%s 菴ソ逕ィ縺吶k譁?ュ怜? <%s>\n"\ | |
43 | +" -w, --width=%d 陦ィ遉コ蟷?r險ュ螳壹@縺セ縺吶??%d>\n\n"\ | |
44 | +"繝倥Ν繝励が繝励す繝ァ繝ウ\n"\ | |
45 | +" -?, --help 縺薙?繝倥Ν繝励Γ繝?そ繝シ繧ク繧定。ィ遉コ縺励∪縺吶??n"\ | |
46 | +" --usage 邁。貎斐↑菴ソ逕ィ譁ケ豕輔r陦ィ遉コ縺励∪縺吶??n"\ | |
47 | +" --version 繝エ繧。繝シ繧ク繝ァ繝ウ諠??ア繧定。ィ遉コ縺励∪縺吶??n\n"\ | |
48 | +"迚ケ谿翫が繝励す繝ァ繝ウ(WIN32)\n"\ | |
47 | 49 | " -F, --fontname=\"%s\"\n"\ |
48 | -" 使用フォント名を指定します。<%s>\n"\ | |
49 | -" -f, --fontsize=%d フォントサイズを指定します。<%d>\n"\ | |
50 | -" --lsfont[=family] familyで指定したフォントファミリのフォント"\ | |
51 | -"を列挙します。\n"\ | |
52 | -"\nこのバージョンはCygwinのbannerと同じように動作するように作成しているつ\n"\ | |
53 | -"もりですが、\x83\x5cースは一切参照していませんので、実装手段は全く異なっ"\ | |
54 | -"てい\n"\ | |
55 | -"るでしょう。従って、細かい見た目の動作についても、異なる部分があると思\n"\ | |
56 | -"われます。\n"\ | |
50 | +" 菴ソ逕ィ繝輔か繝ウ繝亥錐繧呈欠螳壹@縺セ縺吶??%s>\n"\ | |
51 | +" -f, --fontsize=%d 繝輔か繝ウ繝医し繧、繧コ繧呈欠螳壹@縺セ縺吶??%d>\n"\ | |
52 | +" --lsfont[=family] family縺ァ謖?ョ壹@縺溘ヵ繧ゥ繝ウ繝医ヵ繧。繝溘Μ縺ョ繝輔か繝ウ繝?\ | |
53 | +"繧貞?謖吶@縺セ縺吶??n"\ | |
54 | +"\n縺薙?繝舌?繧ク繝ァ繝ウ縺ッCygwin縺ョbanner縺ィ蜷後§繧医≧縺ォ蜍穂ス懊☆繧九h縺?↓菴懈?縺励※縺?k縺、\n"\ | |
55 | +"繧ゅj縺ァ縺吶′縲√た繝シ繧ケ縺ッ荳?蛻?盾辣ァ縺励※縺?∪縺帙s縺ョ縺ァ縲∝ョ溯」?焔谿オ縺ッ蜈ィ縺冗焚縺ェ縺」"\ | |
56 | +"縺ヲ縺Ыn"\ | |
57 | +"繧九〒縺励g縺??ょセ薙▲縺ヲ縲∫エー縺九>隕九◆逶ョ縺ョ蜍穂ス懊↓縺、縺?※繧ゅ?∫焚縺ェ繧矩Κ蛻?′縺ゅk縺ィ諤拿n"\ | |
58 | +"繧上l縺セ縺吶??n"\ | |
57 | 59 | "\nReport bugs to <tfuruka1@nifty.com>.\n" |
58 | 60 | |
59 | 61 | /* |
60 | - * ヴァージョン情報を表示する | |
62 | + * 繝エ繧。繝シ繧ク繝ァ繝ウ諠??ア繧定。ィ遉コ縺吶k | |
61 | 63 | */ |
62 | 64 | static void |
63 | 65 | ShowVersion() |
@@ -66,7 +68,7 @@ ShowVersion() | ||
66 | 68 | } |
67 | 69 | |
68 | 70 | /* |
69 | - * 簡潔な使用方法を表示する | |
71 | + * 邁。貎斐↑菴ソ逕ィ譁ケ豕輔r陦ィ遉コ縺吶k | |
70 | 72 | */ |
71 | 73 | static void ShowUsage(char *lpszCom) |
72 | 74 | { |
@@ -74,7 +76,7 @@ static void ShowUsage(char *lpszCom) | ||
74 | 76 | } |
75 | 77 | |
76 | 78 | /* |
77 | - * 使用方法を表示する | |
79 | + * 菴ソ逕ィ譁ケ豕輔r陦ィ遉コ縺吶k | |
78 | 80 | */ |
79 | 81 | static void ShowHelp(char *lpszCom) |
80 | 82 | { |
@@ -85,20 +87,20 @@ static void ShowHelp(char *lpszCom) | ||
85 | 87 | } |
86 | 88 | |
87 | 89 | /* |
88 | - * 引数が不十分な場合のえらーメッセージを表示後、簡潔な使用方法を表示する | |
90 | + * 蠑墓焚縺御ク榊香蛻?↑蝣エ蜷医?縺医i繝シ繝。繝?そ繝シ繧ク繧定。ィ遉コ蠕後?∫ー。貎斐↑菴ソ逕ィ譁ケ豕輔r陦ィ遉コ縺吶k | |
89 | 91 | */ |
90 | 92 | static void NotEnoughArguments(char *lpszCom) |
91 | 93 | { |
92 | - fprintf(stderr, "%s: 引数が不\x8f\x5c分です。\n", | |
94 | + fprintf(stderr, "%s: 蠑墓焚縺御ク榊香蛻?〒縺吶??n", | |
93 | 95 | GetLongBaseName(lpszCom)); |
94 | 96 | ShowUsage(lpszCom); |
95 | 97 | } |
96 | 98 | |
97 | 99 | /* |
98 | - * 本コマンドのエントリ | |
99 | - */ | |
100 | -// 引数チェック用のマクロ:引数はargv[i]と決め打ちしているので要注 | |
101 | -// 意!!!行が長くなるのが嫌だったので・・・ | |
100 | + * 譛ャ繧ウ繝槭Φ繝峨?繧ィ繝ウ繝医Μ | |
101 | + */ | |
102 | +// 蠑墓焚繝√ぉ繝?け逕ィ縺ョ繝槭け繝ュ?壼シ墓焚縺ッargv[i]縺ィ豎コ繧∵遠縺。縺励※縺?k縺ョ縺ァ隕∵ウィ | |
103 | +// 諢擾シ?シ?シ∬。後′髟キ縺上↑繧九?縺悟ォ後□縺」縺溘?縺ァ繝サ繝サ繝サ | |
102 | 104 | #define IS_ARG_OK1(Expected) (0 == strcmp(Expected, argv[i])) |
103 | 105 | #define IS_ARG_OK2(Exp1, Exp2) IS_ARG_OK1(Exp1) || IS_ARG_OK1(Exp2) |
104 | 106 | int main(int argc, char *argv[]) |
@@ -109,10 +111,10 @@ int main(int argc, char *argv[]) | ||
109 | 111 | BOOL bDebug = FALSE; |
110 | 112 | LPTSTR lpszUseChar = DEFAULT_CHAR; |
111 | 113 | LPTSTR lpszFontName = DEFAULT_FONT; |
112 | - BYTE *pNextArg; | |
114 | + char *pNextArg; | |
113 | 115 | |
114 | 116 | |
115 | - // コマンドオプションのデバッグ用です | |
117 | + // 繧ウ繝槭Φ繝峨が繝励す繝ァ繝ウ縺ョ繝?ヰ繝?げ逕ィ縺ァ縺 | |
116 | 118 | { |
117 | 119 | Syslogger(FALSE, ">>>>>" |
118 | 120 | #if defined(CYGWIN) |
@@ -126,18 +128,18 @@ int main(int argc, char *argv[]) | ||
126 | 128 | } |
127 | 129 | Syslogger(FALSE, "<<<<<"); |
128 | 130 | } |
129 | - // コマンドオプションのデバッグ用はここまで | |
131 | + // 繧ウ繝槭Φ繝峨が繝励す繝ァ繝ウ縺ョ繝?ヰ繝?げ逕ィ縺ッ縺薙%縺セ縺ァ | |
130 | 132 | |
131 | 133 | for (i = 1; i < argc; i++) { |
132 | 134 | if ('-' != *argv[i]) { |
133 | 135 | break; |
134 | 136 | } |
135 | 137 | |
136 | - // オプションに=を使用していた場合の処理 | |
138 | + // 繧ェ繝励す繝ァ繝ウ縺ォ=繧剃スソ逕ィ縺励※縺?◆蝣エ蜷医?蜃ヲ逅 | |
137 | 139 | pNextArg = strchr(argv[i], '='); |
138 | 140 | if (pNextArg) { |
139 | 141 | if (!*(pNextArg)) { |
140 | - fprintf(stderr, "%s: オプションの値が存在しません。(%s)\n", | |
142 | + fprintf(stderr, "%s: 繧ェ繝励す繝ァ繝ウ縺ョ蛟、縺悟ュ伜惠縺励∪縺帙s縲?%s)\n", | |
141 | 143 | GetLongBaseName(argv[0]), argv[i]); |
142 | 144 | return 1; |
143 | 145 | } |
@@ -145,7 +147,7 @@ int main(int argc, char *argv[]) | ||
145 | 147 | pNextArg++; |
146 | 148 | } |
147 | 149 | |
148 | - // 引数のチェック | |
150 | + // 蠑墓焚縺ョ繝√ぉ繝?け | |
149 | 151 | if (IS_ARG_OK2("-?", "--help")) { |
150 | 152 | ShowHelp(argv[0]); |
151 | 153 | return 0; |
@@ -160,8 +162,8 @@ int main(int argc, char *argv[]) | ||
160 | 162 | } |
161 | 163 | else if (IS_ARG_OK1("--lsfont")) { |
162 | 164 | if (!pNextArg) { |
163 | - // 仮にこれが最後の引数だったとしても、次のポインタは | |
164 | - // NULLなので、LsFontの引数としては辻褄があう。 | |
165 | + // 莉ョ縺ォ縺薙l縺梧怙蠕後?蠑墓焚縺?縺」縺溘→縺励※繧ゅ?∵ャ。縺ョ繝昴う繝ウ繧ソ縺ッ | |
166 | + // NULL縺ェ縺ョ縺ァ縲´sFont縺ョ蠑墓焚縺ィ縺励※縺ッ霎サ隍?′縺ゅ≧縲 | |
165 | 167 | pNextArg = argv[i + 1]; |
166 | 168 | } |
167 | 169 | LsFont(pNextArg); |
@@ -189,12 +191,12 @@ int main(int argc, char *argv[]) | ||
189 | 191 | } |
190 | 192 | nScreenWidth = (int)strtol(pNextArg, NULL, 10); |
191 | 193 | if (0 >= nScreenWidth) { |
192 | - fprintf(stderr, "%s: \x95\x5c示幅が狭すぎます。<%d>\n", | |
194 | + fprintf(stderr, "%s: 陦ィ遉コ蟷?′迢ュ縺吶℃縺セ縺吶??%d>\n", | |
193 | 195 | GetLongBaseName(argv[0]), nScreenWidth); |
194 | 196 | return 1; |
195 | 197 | } |
196 | 198 | if (MAX_WIDTH <= nScreenWidth) { |
197 | - fprintf(stderr, "%s: \x95\x5c示幅が大きすぎます。<%d>\n", | |
199 | + fprintf(stderr, "%s: 陦ィ遉コ蟷?′螟ァ縺阪☆縺弱∪縺吶??%d>\n", | |
198 | 200 | GetLongBaseName(argv[0]), nScreenWidth); |
199 | 201 | return 1; |
200 | 202 | } |
@@ -221,17 +223,17 @@ int main(int argc, char *argv[]) | ||
221 | 223 | } |
222 | 224 | nFontSize = (int)strtol(pNextArg, NULL, 10); |
223 | 225 | if (0 >= nFontSize) { |
224 | - fprintf(stderr, "%s: フォントサイズが小さすぎます。<%d>\n", | |
226 | + fprintf(stderr, "%s: 繝輔か繝ウ繝医し繧、繧コ縺悟ー上&縺吶℃縺セ縺吶??%d>\n", | |
225 | 227 | GetLongBaseName(argv[0]), nFontSize); |
226 | 228 | return 1; |
227 | 229 | } |
228 | 230 | } |
229 | 231 | else if (IS_ARG_OK1("-d")) { |
230 | - // デバッグモードにする | |
232 | + // 繝?ヰ繝?げ繝「繝シ繝峨↓縺吶k | |
231 | 233 | bDebug = TRUE; |
232 | 234 | } |
233 | 235 | else { |
234 | - fprintf(stderr, "%s: 無効なオプションです(%s)\n", | |
236 | + fprintf(stderr, "%s: 辟。蜉ケ縺ェ繧ェ繝励す繝ァ繝ウ縺ァ縺?%s)\n", | |
235 | 237 | GetLongBaseName(argv[0]), argv[i]); |
236 | 238 | return 1; |
237 | 239 | } |
@@ -242,23 +244,23 @@ int main(int argc, char *argv[]) | ||
242 | 244 | return 1; |
243 | 245 | } |
244 | 246 | |
245 | - // 使用文字列長に合わせてサイズを調整する | |
247 | + // 菴ソ逕ィ譁?ュ怜?髟キ縺ォ蜷医o縺帙※繧オ繧、繧コ繧定ェソ謨エ縺吶k | |
246 | 248 | nScreenWidth /= strlen(lpszUseChar); |
247 | 249 | |
248 | 250 | if (strlen(lpszUseChar) >= (ULONG)nScreenWidth) { |
249 | - fprintf(stderr, "%s: \x95\x5c示幅より、" | |
250 | - "使用文字列長が長い為\x95\x5c示できません\n", | |
251 | + fprintf(stderr, "%s: 陦ィ遉コ蟷?h繧翫?? | |
252 | + "菴ソ逕ィ譁?ュ怜?髟キ縺碁聞縺?ぜ陦ィ遉コ縺ァ縺阪∪縺帙s\n", | |
251 | 253 | GetLongBaseName(argv[0])); |
252 | 254 | return 1; |
253 | 255 | } |
254 | 256 | |
255 | - Syslogger(FALSE, "DBG: 使用文字=%s, \x95\x5c示幅=%d, " | |
256 | - "フォント=%s, フォントサイズ=%d", | |
257 | + Syslogger(FALSE, "DBG: 菴ソ逕ィ譁?ュ?%s, 陦ィ遉コ蟷?%d, " | |
258 | + "繝輔か繝ウ繝?%s, 繝輔か繝ウ繝医し繧、繧コ=%d", | |
257 | 259 | lpszUseChar, nScreenWidth, lpszFontName, nFontSize); |
258 | 260 | |
259 | - // 使用フォントの初期化 | |
261 | + // 菴ソ逕ィ繝輔か繝ウ繝医?蛻晄悄蛹 | |
260 | 262 | if (!SetLogFont(lpszFontName)) { |
261 | - fprintf(stderr, "%s: フォントファミリが選択できませんでした。\n", | |
263 | + fprintf(stderr, "%s: 繝輔か繝ウ繝医ヵ繧。繝溘Μ縺碁∈謚槭〒縺阪∪縺帙s縺ァ縺励◆縲?n", | |
262 | 264 | GetLongBaseName(argv[0])); |
263 | 265 | return 1; |
264 | 266 | } |
@@ -1,69 +1,68 @@ | ||
1 | -# -*- mode: makefile; coding: sjis-dos; -*- | |
2 | -# Time-stamp: <2012-08-26 18:53:31 tfuruka1> | |
1 | +# -*- mode: makefile; coding: utf-8; -*- | |
3 | 2 | # Copyright (C) 2003 Tadamegu Furukawa# |
3 | +# $Id: makefile,v 1.2 2004/01/19 09:16:49 tfuruka1 Exp $ | |
4 | +# | |
5 | +# 全般的に MinGWでのBuildに変更しました。以下のコメントは履歴として残 | |
6 | +# しておきます。 | |
4 | 7 | # |
5 | -# jbanner ?? makefile (nmake ???K?v?ł?) | |
8 | +# jbanner の makefile (nmake が必要です) ← make になりました | |
6 | 9 | |
7 | 10 | # (while (re-search-forward "^#!" nil t) (replace-match "!")) |
8 | 11 | # (while (re-search-forward "^!" nil t) (replace-match "#!")) |
9 | 12 | |
10 | 13 | # |
11 | -# ???? makefaile ?͊T?ˈȉ??̍\???ɂȂ??Ă??܂??B | |
14 | +# この makefaile は概ね以下の構造になっています。 | |
12 | 15 | # |
13 | -# !if defined(CYGWIN) ??(1) | |
16 | +# !if defined(CYGWIN) ←(1) | |
14 | 17 | # |
15 | -# << CYGWIN ?̒?`??>> ??(2) | |
18 | +# << CYGWIN の定義部>> ←(2) | |
16 | 19 | # |
17 | -# !else ??(1) | |
20 | +# !else ←(1) | |
18 | 21 | # |
19 | -# << MSVC ?̒?`?? >> ??(3) | |
22 | +# << MSVC の定義部 >> ←(3) | |
20 | 23 | # |
21 | -# !endif ??(1) | |
24 | +# !endif ←(1) | |
22 | 25 | # |
23 | -# << ???ʂ̒?` >> | |
26 | +# << 共通の定義 >> | |
24 | 27 | # |
25 | -# (1)?̕?????, nmake ?ł̂ݗL???ȕ??@?ł??̂?, make ???g?p????ꍇ??, | |
26 | -# ?R?????g?A?E?g???ĉ??????Bnmake ???g?p????ꍇ??, (2), (3)?̃R?????g | |
27 | -# ???O???ĉ??????B??????, gcc ?ŃR???p?C??????ꍇ?̓R?}???h?v?????v?g | |
28 | -# ?????? | |
28 | +# (1)の分部は, nmake でのみ有効な文法ですので, make を使用する場合は, | |
29 | +# コメントアウトして下さい。nmake を使用する場合は, (2), (3)のコメント | |
30 | +# を外して下さい。そして, gcc でコンパイルする場合はコマンドプロンプト | |
31 | +# 等から | |
29 | 32 | # |
30 | 33 | # nmake CYGWIN=1 |
31 | 34 | # |
32 | -# ?Ɠ??͂??ĉ??????BMSVC ?ŃR???p?C??????ꍇ?? | |
35 | +# と入力して下さい。MSVC でコンパイルする場合は | |
33 | 36 | # |
34 | 37 | # nmake |
35 | 38 | # |
36 | -# ?Ƃ??ĉ??????Bmake ???g?p????ꍇ??, !if ???͎g?p?o???܂???̂?, (1) | |
37 | -# ?̕??????R?????g?A?E?g???ĉ??????B??????, gcc ?ŃR???p?C??????ꍇ??, | |
38 | -# (2)?????̃R?????g???O????, (3)?̕??????R?????g?A?E?g???ĉ??????BMSVC | |
39 | -# ?ŃR???p?C??????ꍇ??, (3)?????̃R?????g???O????, (2)?̕??????R???? | |
40 | -# ?g?A?E?g???ĉ??????B??????, ?R?}???h?v?????v?g?????? | |
39 | +# として下さい。make を使用する場合は, !if 文は使用出来ませんので, (1) | |
40 | +# の分部をコメントアウトして下さい。そして, gcc でコンパイルする場合は, | |
41 | +# (2)分部のコメントを外して, (3)の分部をコメントアウトして下さい。MSVC | |
42 | +# でコンパイルする場合は, (3)分部のコメントを外して, (2)の分部をコメン | |
43 | +# トアウトして下さい。そして, コマンドプロンプト等から | |
41 | 44 | # |
42 | 45 | # make |
43 | 46 | # |
44 | -# ?Ɠ??͂??ĉ??????B | |
47 | +# と入力して下さい。 | |
45 | 48 | # |
46 | -# $Id: makefile,v 1.2 2004/01/19 09:16:49 tfuruka1 Exp $ | |
49 | + | |
47 | 50 | # $Log: makefile,v $ |
48 | 51 | # Revision 1.2 2004/01/19 09:16:49 tfuruka1 |
49 | -# clean ?Ł@doc?f?B???N?g?????폜????悤?ɂ??܂????B | |
52 | +# clean で docディレクトリを削除するようにしました。 | |
50 | 53 | # |
51 | 54 | # Revision 1.1 2004/01/19 09:01:28 tfuruka1 |
52 | -# ???r?W?????Ǘ???RCS????CVS?֕ύX???܂????B | |
55 | +# リビジョン管理をRCSからCVSへ変更しました。 | |
53 | 56 | # |
54 | 57 | |
55 | 58 | |
56 | -# | |
57 | -# ?? nmake ?ȊO?̓R?????g?A?E?g???ĉ????? | |
58 | -!if defined(CYGWIN) | |
59 | - | |
60 | 59 | ####### |
61 | -####### CYGWIN?p | |
60 | +####### CYGWIN用 → MinGW へ変更しました | |
62 | 61 | ####### |
63 | 62 | |
64 | -# CYGWIN ?̃??\?[?X?R???p?C????ʂ??R?c?BIDC_STATIC ????`????Ă??Ȃ? | |
65 | -# ????MFC?̃??\?[?X?p?w?b?_?t?@?C?????g?p???Ȃ??悤?ɂ???A???͒? | |
66 | -# ??܂??B?ȉ??͗?ł? | |
63 | +# CYGWIN のリソースコンパイラを通すコツ。IDC_STATIC が定義されていない | |
64 | +# 事とMFCのリソース用ヘッダファイルを使用しないようにすれば、大抵は通 | |
65 | +# ります。以下は例です | |
67 | 66 | |
68 | 67 | # #ifdef CYGWIN |
69 | 68 | # # include <windows.h> |
@@ -72,41 +71,27 @@ | ||
72 | 71 | # # include "afxres.h" |
73 | 72 | # #endif |
74 | 73 | |
75 | -# ?\?P?b?g???g?p????ꍇ?́A__USE_W32_SOCKETS ???`?????ق????ǂ??悤 | |
76 | -# ?ł??B???ɕs??????????͖????̂ł????A?ꉞ?E?H?[?j???O???????? | |
77 | -# ???̂œ???Ă܂??B | |
74 | +# ソケットを使用する場合は、__USE_W32_SOCKETS を定義したほうが良いよう | |
75 | +# です。特に不具合を発見した事は無いのですが、一応ウォーニングが消えな | |
76 | +# いので入れてます。 | |
78 | 77 | |
79 | -# ?V????Cygwin???g?p???Ă???ꍇ?? gcc ?? -mno-cygwin ?I?v?V???????폜 | |
80 | -# ????Ă??܂??B???̏ꍇ?? gcc-3 ???g?p???ĉ??????B | |
78 | +# 新しいCygwinを使用している場合は gcc で -mno-cygwin オプションが削除 | |
79 | +# されています。その場合は gcc-3 を使用して下さい。 | |
80 | +# | |
81 | +# ↑ 現在は MinGWにしました。 | |
81 | 82 | |
82 | 83 | O = o |
83 | 84 | RES = o |
84 | -CC = gcc | |
85 | -CFLAGS = -g -DCYGWIN -Wall -D__USE_W32_SOCKETS -mno-cygwin | |
85 | +CC = i686-w64-mingw32-gcc | |
86 | +CFLAGS = -g -DCYGWIN -Wall -D__USE_W32_SOCKETS --input-charset=utf-8 \ | |
87 | + --exec-charset=cp932 | |
88 | + | |
86 | 89 | LDFLAGS = -lwsock32 -lgdi32 |
87 | -RC = windres | |
90 | +RC = i686-w64-mingw32-windres | |
88 | 91 | RCFLAGS = --define CYGWIN --define IDC_STATIC=-1 -o |
89 | 92 | |
90 | -# ?? nmake ?ȊO?̓R?????g?A?E?g???ĉ????? | |
91 | -!else | |
92 | - | |
93 | -####### | |
94 | -####### MSC(VC)?p | |
95 | -####### | |
96 | - | |
97 | -O=obj | |
98 | -RES=res | |
99 | -CC=cl | |
100 | -CFLAGS=/W3 /Zi | |
101 | -LDFLAGS=/link user32.lib wsock32.lib gdi32.lib | |
102 | -RC=rc | |
103 | -RCFLAGS= /fo | |
104 | - | |
105 | -# ?? nmake ?ȊO?̓R?????g?A?E?g???ĉ????? | |
106 | -!endif | |
107 | - | |
108 | 93 | ####### |
109 | -####### ?ȉ???MSVC, gcc???? | |
94 | +####### 以下はMSVC, gcc共通 | |
110 | 95 | ####### |
111 | 96 | |
112 | 97 | .SUFFIXES: .$(O) .c |
@@ -136,9 +121,9 @@ SHELL=/bin/sh | ||
136 | 121 | ../$(EXE) : $(OBJS) $(OBJ_RES) |
137 | 122 | $(CC) -o $@ $(CFLAGS) $(OBJS) $(OBJ_RES) $(LDFLAGS) |
138 | 123 | |
139 | -# ???\?[?X?̃R???p?C???BMSVC??rc??CYGWIN??windres?ŏo?̓t?@?C???̃I?v | |
140 | -# ?V???????قȂ?̂ŁARCFLAGS?̈?ԍŌ?̃I?v?V???????o?̓t?@?C?????? | |
141 | -# ???Ă??܂??B | |
124 | +# リソースのコンパイル。MSVCのrcとCYGWINのwindresで出力ファイルのオプ | |
125 | +# ションが異なるので、RCFLAGSの一番最後のオプションを出力ファイル名に | |
126 | +# しています。 | |
142 | 127 | $(OBJ_RES) : $(RES_BASE).rc |
143 | 128 | $(RC) $(RCFLAGS) $@ $(RES_BASE).rc |
144 | 129 |
@@ -147,13 +132,13 @@ $(OBJS) : makefile jbanner.h | ||
147 | 132 | tags: |
148 | 133 | $(ETAGS) *.c *.h |
149 | 134 | |
150 | -# tar ?Ōł߂?Bnmake ????shell???Ăяo????Ȃ??̂ŁA?????I??sh???Ă? | |
151 | -# ?o???Ă??܂??B | |
135 | +# tar で固める。nmake だとshellが呼び出されないので、強制的にshを呼び | |
136 | +# 出しています。 | |
152 | 137 | tar: ../$(EXE) doc clean tags |
153 | 138 | $(SHELL) -c "(cd ../..; tar cvzf $(TAR_GZ) jbanner --exclude .git)" |
154 | 139 | |
155 | 140 | # |
156 | -# --- ?h?L???????g | |
141 | +# --- ドキュメント | |
157 | 142 | # |
158 | 143 | doc : $(INFO) $(PDF) $(BASE_NAME).ps $(PLAIN_TXT) $(HTML) |
159 | 144 |
@@ -186,10 +171,10 @@ $(PDF) : $(BASE_NAME).dvi | ||
186 | 171 | $(DVIPDF) $(BASE_NAME).dvi |
187 | 172 | cp $@ ../doc/. |
188 | 173 | |
189 | -# --- dvi --- CYGWIN??texindex???Ɠ??{?ꂪ???????????ł??Ȃ??̂ŁApTeX | |
190 | -# ?Ŕz?z????Ă???texindex???g?p???Ă??܂??B?Ƃ??낪?ApTeX??texindex?? | |
191 | -# ?ƁA???C???h?J?[?h?̓W?J?????܂??o???Ȃ??悤?Ȃ̂ŁAsh???????I?ɌĂ? | |
192 | -# ?o???ď??????Ă??܂??B | |
174 | +# --- dvi --- CYGWINのtexindexだと日本語が正しく処理できないので、pTeX | |
175 | +# で配布されているtexindexを使用しています。ところが、pTeXのtexindexだ | |
176 | +# と、ワイルドカードの展開がうまく出来ないようなので、shを強制的に呼び | |
177 | +# 出して処理しています。 | |
193 | 178 | $(BASE_NAME).dvi : $(TEXINFO) makefile |
194 | 179 | @echo --- |
195 | 180 | @echo --- make dvi --- |
@@ -18,7 +18,7 @@ | ||
18 | 18 | #undef APSTUDIO_READONLY_SYMBOLS |
19 | 19 | |
20 | 20 | ///////////////////////////////////////////////////////////////////////////// |
21 | -// 日本語 resources | |
21 | +// 譌・譛ャ隱 resources | |
22 | 22 | |
23 | 23 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) |
24 | 24 | #ifdef _WIN32 |
@@ -41,18 +41,18 @@ IDI_ICON1 ICON DISCARDABLE "icon1.ico" | ||
41 | 41 | // TEXTINCLUDE |
42 | 42 | // |
43 | 43 | |
44 | -1 TEXTINCLUDE DISCARDABLE | |
44 | +1 TEXTINCLUDE DISCARDABLE | |
45 | 45 | BEGIN |
46 | 46 | "resource.h\0" |
47 | 47 | END |
48 | 48 | |
49 | -2 TEXTINCLUDE DISCARDABLE | |
49 | +2 TEXTINCLUDE DISCARDABLE | |
50 | 50 | BEGIN |
51 | 51 | "#include ""afxres.h""\r\n" |
52 | 52 | "\0" |
53 | 53 | END |
54 | 54 | |
55 | -3 TEXTINCLUDE DISCARDABLE | |
55 | +3 TEXTINCLUDE DISCARDABLE | |
56 | 56 | BEGIN |
57 | 57 | "\r\n" |
58 | 58 | "\0" |
@@ -60,7 +60,7 @@ END | ||
60 | 60 | |
61 | 61 | #endif // APSTUDIO_INVOKED |
62 | 62 | |
63 | -#endif // 日本語 resources | |
63 | +#endif // 譌・譛ャ隱 resources | |
64 | 64 | ///////////////////////////////////////////////////////////////////////////// |
65 | 65 | |
66 | 66 |
@@ -1,13 +1,12 @@ | ||
1 | -/* -*- mode: c++; coding: sjis-dos; -*- | |
2 | - * Time-stamp: <2003-06-01 15:28:34 tfuruka1> | |
1 | +/* -*- mode: c++; coding: utf-8; -*- | |
3 | 2 | * Copyright (C) 2003 Tadamegu Furukawa |
4 | 3 | * |
5 | - * 文字列操作関数 | |
4 | + * 譁?ュ怜?謫堺ス憺未謨ー | |
6 | 5 | * |
7 | 6 | * $Id: string.c,v 1.1 2004/01/19 09:01:27 tfuruka1 Exp $ |
8 | - * $Log: string.c,v $ | |
9 | - * Revision 1.1 2004/01/19 09:01:27 tfuruka1 | |
10 | - * リビジョン管理をRCSからCVSへ変更しました。 | |
7 | + * $Log: string.c,v $ | |
8 | + * Revision 1.1 2004/01/19 09:01:27 tfuruka1 | |
9 | + * 繝ェ繝薙ず繝ァ繝ウ邂。逅?rRCS縺九iCVS縺ク螟画峩縺励∪縺励◆縲 | |
11 | 10 | * |
12 | 11 | */ |
13 | 12 | // (replace-regexp "/\\*\\(.+\\)\\*/" "//\\1") |
@@ -16,10 +15,10 @@ | ||
16 | 15 | #include <windows.h> |
17 | 16 | #include <stdio.h> |
18 | 17 | |
19 | -#define Z_SPACE "\x81\x40" // 全角スペース | |
18 | +#define Z_SPACE "\x81\x40" // 蜈ィ隗偵せ繝壹?繧ケ | |
20 | 19 | |
21 | 20 | /* ------------------------------------------------------------------- |
22 | - * 文字列の右側のスペース文字を取り除く | |
21 | + * 譁?ュ怜?縺ョ蜿ウ蛛エ縺ョ繧ケ繝壹?繧ケ譁?ュ励r蜿悶j髯、縺 | |
23 | 22 | * *-----------------------------------------------------------------*/ |
24 | 23 | LPTSTR TrimRight(LPTSTR lpszStr) |
25 | 24 | { |
@@ -41,7 +40,7 @@ LPTSTR TrimRight(LPTSTR lpszStr) | ||
41 | 40 | } |
42 | 41 | |
43 | 42 | /* ------------------------------------------------------------------- |
44 | - * 文字列の右側の全角スペース文字を取り除く | |
43 | + * 譁?ュ怜?縺ョ蜿ウ蛛エ縺ョ蜈ィ隗偵せ繝壹?繧ケ譁?ュ励r蜿悶j髯、縺 | |
45 | 44 | * *-----------------------------------------------------------------*/ |
46 | 45 | LPTSTR TrimRightJa(LPTSTR lpszStr) |
47 | 46 | { |
@@ -59,7 +58,7 @@ LPTSTR TrimRightJa(LPTSTR lpszStr) | ||
59 | 58 | } |
60 | 59 | |
61 | 60 | /* ------------------------------------------------------------------- |
62 | - * 文字列の左側のスペース文字を取り除く | |
61 | + * 譁?ュ怜?縺ョ蟾ヲ蛛エ縺ョ繧ケ繝壹?繧ケ譁?ュ励r蜿悶j髯、縺 | |
63 | 62 | * *-----------------------------------------------------------------*/ |
64 | 63 | LPTSTR TrimLeft(LPTSTR lpszStr) |
65 | 64 | { |
@@ -75,7 +74,7 @@ LPTSTR TrimLeft(LPTSTR lpszStr) | ||
75 | 74 | } |
76 | 75 | } |
77 | 76 | |
78 | - if (pFrom == pTo) { // 余分な文字は無い | |
77 | + if (pFrom == pTo) { // 菴吝?縺ェ譁?ュ励?辟。縺 | |
79 | 78 | return lpszStr; |
80 | 79 | } |
81 | 80 | for (; *pFrom; pFrom++, pTo++) { |
@@ -86,7 +85,7 @@ LPTSTR TrimLeft(LPTSTR lpszStr) | ||
86 | 85 | } |
87 | 86 | |
88 | 87 | /* ------------------------------------------------------------------- |
89 | - * 文字列の左右のスペース文字を取り除く | |
88 | + * 譁?ュ怜?縺ョ蟾ヲ蜿ウ縺ョ繧ケ繝壹?繧ケ譁?ュ励r蜿悶j髯、縺 | |
90 | 89 | * *-----------------------------------------------------------------*/ |
91 | 90 | LPTSTR TrimString(LPSTR lpszStr) |
92 | 91 | { |
@@ -94,16 +93,16 @@ LPTSTR TrimString(LPSTR lpszStr) | ||
94 | 93 | } |
95 | 94 | |
96 | 95 | /* ------------------------------------------------------------------- |
97 | - * fgetsと同様の処理を行うが、タブをスペース文字列へ展開する。但し、タ | |
98 | - * ブの展開を途中で止める事は無いので、最大文字列長はタブストップを考 | |
99 | - * 慮する必要がある。 | |
96 | + * fgets縺ィ蜷梧ァ倥?蜃ヲ逅?r陦後≧縺後?√ち繝悶r繧ケ繝壹?繧ケ譁?ュ怜?縺ク螻暮幕縺吶k縲ゆス?@縲√ち | |
97 | + * 繝悶?螻暮幕繧帝?比クュ縺ァ豁「繧√k莠九?辟。縺??縺ァ縲∵怙螟ァ譁?ュ怜?髟キ縺ッ繧ソ繝悶せ繝医ャ繝励r閠 | |
98 | + * 諷ョ縺吶k蠢?ヲ√′縺ゅk縲 | |
100 | 99 | * *-----------------------------------------------------------------*/ |
101 | 100 | LPTSTR |
102 | 101 | ufgets( |
103 | - LPTSTR szBuf, // 格納バッファ | |
104 | - int cbMax, // 最大文字列長 | |
105 | - FILE *fp, // ファイルポインタ | |
106 | - int nTab // タブストップ | |
102 | + LPTSTR szBuf, // 譬シ邏阪ヰ繝?ヵ繧。 | |
103 | + int cbMax, // 譛?螟ァ譁?ュ怜?髟キ | |
104 | + FILE *fp, // 繝輔ぃ繧、繝ォ繝昴う繝ウ繧ソ | |
105 | + int nTab // 繧ソ繝悶せ繝医ャ繝 | |
107 | 106 | ) |
108 | 107 | { |
109 | 108 | int i, j, c; |
@@ -133,9 +132,9 @@ ufgets( | ||
133 | 132 | } |
134 | 133 | |
135 | 134 | /* ------------------------------------------------------------------- |
136 | - * strの文字列を区切り文字cで区切り、区切られた文字列の先頭アドレスを | |
137 | - * それぞれ*intoに格納する。但しmaxで指定された数より多くは区切らない。 | |
138 | - * 連続した区切り文字は1つと見る。 | |
135 | + * str縺ョ譁?ュ怜?繧貞玄蛻?j譁?ュ幼縺ァ蛹コ蛻?j縲∝玄蛻?i繧後◆譁?ュ怜?縺ョ蜈磯?ュ繧「繝峨Ξ繧ケ繧 | |
136 | + * 縺昴l縺槭l*into縺ォ譬シ邏阪☆繧九?ゆス?@max縺ァ謖?ョ壹&繧後◆謨ー繧医j螟壹¥縺ッ蛹コ蛻?i縺ェ縺?? | |
137 | + * 騾」邯壹@縺溷玄蛻?j譁?ュ励?1縺、縺ィ隕九k縲 | |
139 | 138 | * *-----------------------------------------------------------------*/ |
140 | 139 | int unstr(char *str, int c, char *into[], int max) |
141 | 140 | { |