FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

アフィリエイトサイトです。

アフィリエイトサイトを紹介します。

わらしべ式に自立収入が毎月30万円! 会社に頼らないネット収入ブログ

スポンサーサイト

KDE 4.11.1のkonsole用パッチ

KDE 4.11.1のkonsole用パッチです。SKKで入力するときの三角形などが入った場合にカーソルが半分にならないようにしています。

diff --git a/src/Screen.cpp b/src/Screen.cpp
index c322406..8ce20b8 100644
--- a/src/Screen.cpp
+++ b/src/Screen.cpp
@@ -625,7 +625,7 @@ void Screen::displayCharacter(unsigned short c)
// We indicate the fact that a newline has to be triggered by
// putting the cursor one right to the last column of the screen.

- int w = konsole_wcwidth(c);
+ int w = konsole_wcwidth_cjk(c);
if (w < 0)
return;
else if (w == 0) {
diff --git a/src/TerminalCharacterDecoder.cpp b/src/TerminalCharacterDecoder.cpp
index 0615d5d..2f0b161 100644
--- a/src/TerminalCharacterDecoder.cpp
+++ b/src/TerminalCharacterDecoder.cpp
@@ -127,7 +127,7 @@ void PlainTextDecoder::decodeLine(const Character* const characters, int count,
// of `dialog --infobox "qwe" 10 10` .
if (characters[i].isRealCharacter || i <= realCharacterGuard) {
plainText.append(QChar(characters[i].character));
- i += qMax(1, konsole_wcwidth(characters[i].character));
+ i += qMax(1, konsole_wcwidth_cjk(characters[i].character));
} else {
++i; // should we 'break' directly here?
}
diff --git a/src/konsole_wcwidth.cpp b/src/konsole_wcwidth.cpp
index ba5e06a..fd0796c 100644
--- a/src/konsole_wcwidth.cpp
+++ b/src/konsole_wcwidth.cpp
@@ -218,7 +218,7 @@ int string_width(const QString& text)
{
int w = 0;
for (int i = 0; i < text.length(); ++i)
- w += konsole_wcwidth(text[i].unicode());
+ w += konsole_wcwidth_cjk(text[i].unicode());
return w;
}

@@ -272,7 +272,7 @@ int konsole_wcwidth_cjk(quint16 oucs)
{ 0x02DD, 0x02DD }, { 0x02DF, 0x02DF }, { 0x0391, 0x03A1 },
{ 0x03A3, 0x03A9 }, { 0x03B1, 0x03C1 }, { 0x03C3, 0x03C9 },
{ 0x0401, 0x0401 }, { 0x0410, 0x044F }, { 0x0451, 0x0451 },
- { 0x2010, 0x2010 }, { 0x2013, 0x2016 }, { 0x2018, 0x2019 },
+ /* { 0x2010, 0x2010 }, { 0x2013, 0x2016 }, { 0x2018, 0x2019 },
{ 0x201C, 0x201D }, { 0x2020, 0x2022 }, { 0x2024, 0x2027 },
{ 0x2030, 0x2030 }, { 0x2032, 0x2033 }, { 0x2035, 0x2035 },
{ 0x203B, 0x203B }, { 0x203E, 0x203E }, { 0x2074, 0x2074 },
@@ -293,7 +293,7 @@ int konsole_wcwidth_cjk(quint16 oucs)
{ 0x2282, 0x2283 }, { 0x2286, 0x2287 }, { 0x2295, 0x2295 },
{ 0x2299, 0x2299 }, { 0x22A5, 0x22A5 }, { 0x22BF, 0x22BF },
{ 0x2312, 0x2312 }, { 0x2460, 0x24E9 }, { 0x24EB, 0x254B },
- { 0x2550, 0x2573 }, { 0x2580, 0x258F }, { 0x2592, 0x2595 },
+ { 0x2550, 0x2573 }, { 0x2580, 0x258F }, { 0x2592, 0x2595 }, */
{ 0x25A0, 0x25A1 }, { 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 },
{ 0x25B6, 0x25B7 }, { 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 },
{ 0x25C6, 0x25C8 }, { 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 },
@@ -302,7 +302,8 @@ int konsole_wcwidth_cjk(quint16 oucs)
{ 0x261C, 0x261C }, { 0x261E, 0x261E }, { 0x2640, 0x2640 },
{ 0x2642, 0x2642 }, { 0x2660, 0x2661 }, { 0x2663, 0x2665 },
{ 0x2667, 0x266A }, { 0x266C, 0x266D }, { 0x266F, 0x266F },
- { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0xE000, 0xF8FF },
+ { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0x300A, 0x300B },
+ { 0x301A, 0x301B }, { 0x3040, 0x309F }, { 0xE000, 0xF8FF },
{ 0xFFFD, 0xFFFD }, { 0xF0000, 0xFFFFD }, { 0x100000, 0x10FFFD }
};

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。