ラベル 日本語 の投稿を表示しています。 すべての投稿を表示
ラベル 日本語 の投稿を表示しています。 すべての投稿を表示

6.18.2012

どうしても UIM + Anthy でスペース半角でないとダメなんです その2

以前のエントリで UIM + Anthy の組み合わせでスペースなどを半角で出力するように設定を行いましたが、UIM の新しいバージョンでは設定変更が変更されています。

私が今使っているものを掲載します。
以下、~/.uim です。なお行の開始が「;」になっているものはコメント扱いとなります。


(require-module "skk")
(require "japanese.scm")
(define ja-space '(" " " " " "))
(define ja-alnum-space '(" " " "))


(define ja-rk-rule-basic (append '(
  ((("(") . ()) ("(" "(" "("))
  (((")") . ()) (")" ")" ")"))
  ((("{") . ()) ("{" "{" "{"))
  ((("}") . ()) ("}" "}" "}"))
  ((("|") . ()) ("|" "|" "|"))
  ((("\\") . ()) ("\\" "\\" "\\"))
  ((("@") . ()) ("@" "@" "@"))
  ((("&") . ()) ("&" "&" "&"))
  ((("*") . ()) ("*" "*" "*"))
;  ((("!") . ()) ("!" "!" "!"))
  ((("#") . ()) ("#" "#" "#"))
  ((("+") . ()) ("+" "+" "+"))
  ((("%") . ()) ("%" "%" "%"))
  ((("`") . ()) ("`" "`" "`"))
  ((("'") . ()) ("'" "'" "'"))
  (((":") . ()) (":" ":" ":"))
  (((";") . ()) (";" ";" ";"))
  ((("\"") . ()) ("\"" "\"" "\""))
  ((("/") . ()) ("/" "/" "/"))
  ((("_") . ()) ("_" "_" "_"))
  (((">") . ()) (">" ">" ">"))
  ((("<") . ()) ("<" "<" "<"))
;  ((("?") . ()) ("?" "?" "?"))
  )
ja-rk-rule-basic))
(ja-rk-rule-update)


(define skk-ja-rk-rule (append '(
  ((("(") . ()) ("(" "(" "("))
  (((")") . ()) (")" ")" ")"))
  ((("{") . ()) ("{" "{" "{"))
  ((("}") . ()) ("}" "}" "}"))
  ((("|") . ()) ("|" "|" "|"))
  ((("\\") . ()) ("\\" "\\" "\\"))
  ((("@") . ()) ("@" "@" "@"))
  ((("&") . ()) ("&" "&" "&"))
  ((("*") . ()) ("*" "*" "*"))
;  ((("!") . ()) ("!" "!" "!"))
  ((("#") . ()) ("#" "#" "#"))
  ((("+") . ()) ("+" "+" "+"))
  ((("%") . ()) ("%" "%" "%"))
  ((("`") . ()) ("`" "`" "`"))
  ((("'") . ()) ("'" "'" "'"))
  (((":") . ()) (":" ":" ":"))
  (((";") . ()) (";" ";" ";"))
  ((("\"") . ()) ("\"" "\"" "\""))
  ((("/") . ()) ("/" "/" "/"))
  ((("_") . ()) ("_" "_" "_"))
  (((">") . ()) (">" ">" ">"))
  ((("<") . ()) ("<" "<" "<"))
;  ((("?") . ()) ("?" "?" "?"))
  )
skk-ja-rk-rule))

前回のエントリを参考に編集され、変わらないと思われた方も少数では存在すると思います。失礼しました。

12.03.2011

G-HAL氏 パッチ版 Anthy を使う

基本 SKK 使いなのですがなんとなく Anthy を使ってみたら学習させたはずなのに、すぐその内容を忘れる… この問題 (?) を解決したのが G-HAL氏のパッチを適用した改良版 Anthy ともいうべきものです。今回はこいつを Gentoo Linux で導入します。

最初に以下の方法は手抜きです。次回 emerge --sync したら消えちゃうので注意。
サイトから以下の二つをダウンロードします。コーパスを切らない方は anthy-9100.patch0b.bz2 は不要です。
  • anthy-9100h.patch13-release-2011Y23.alt-depgraph-110208-angie.zipdic-201101.tar.lzma
  • anthy-9100.patch0b.bz2 

ダウンロードしたファイルをそれぞれ以下に配置します。anthy-9100.patch0b.bz2 は解凍して /usr/portage/app-i18n/files にもう一方は /usr/portage/distfiles に。

まず anthy-9100.patch0b を編集します。patch13 には patch0 の一部が採用されていてエラーが発生するからです。 頭から 66 行目までを削除します。calctrans/Makefile.am, calctrans/Makefile.in へのパッチを削除です。

次に anthy-9100h.ebuild を編集します。

--- a/anthy-9100h.ebuild      2009-09-27 21:29:39.000000000 +0900
+++ b/anthy-9100h.ebuild  2011-12-02 23:45:54.022868270 +0900
@@ -8,7 +8,7 @@
 
 DESCRIPTION="Anthy -- free and secure Japanese input system"
 HOMEPAGE="http://anthy.sourceforge.jp/"
-SRC_URI="mirror://sourceforge.jp/anthy/37536/${P}.tar.gz"
+SRC_URI="anthy-9100h.patch13-release-2011Y23.alt-depgraph-110208-angie.zipdic-201101.tar.lzma"
 
 LICENSE="GPL-2 LGPL-2.1"
 KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
@@ -22,6 +22,7 @@
 
        unpack ${A}
        cd "${S}"
+       epatch "${FILESDIR}/anthy-9100.patch0b"
 
        local cannadicdir=/var/lib/canna/dic/canna 
 
変更点はこれだけです。ebuild ファイルを編集したので新たに digest を求めます。

ebuild /usr/portage/app-i18n/anthy/anthy-9100h.ebuild digest

そして emerge anthy で完了です!実際に日本語入力をして賢くなったのを実感してみましょう。ちなみに私は UIM から利用していますがすっごく快適です。

11.26.2011

どうしても UIM + Anthy でスペース半角でないとダメなんです

ごめんなさいタイトルのままです。
しかも、またまた Gentoo Linux と関係ありません。


UIM の設定から探すことが出来なかったので ~/.uim に以下の記述をしました。
(括弧の類も標準では半角を出すようにしています。)

(require "japanese.scm")
(define ja-space '(" " " " " "))
(define ja-alnum-space '(" " " "))

(require "japanese.scm")
  (define ja-rk-rule (append '(
    ((("(") . ()) ("(" "(" "("))
    (((")") . ()) (")" ")" ")"))
    ((("{") . ()) ("{" "{" "{"))
    ((("}") . ()) ("}" "}" "}"))
    ((("|") . ()) ("|" "|" "|"))
    ((("\\\\") . ()) ("\\\\" "\\\\" "\\\\"))
    ((("@") . ()) ("@" "@" "@"))
  )
ja-rk-rule))

これでスペースが半角になります。

綺麗なフォント Ricty

皆さんターミナルエミュレータのフォントって何にしてますか?

私はどれもしっくりこなくてちょくちょく変えてきたのですが
これぞ決定版みたいなのがありました。それは Ricty という
プログラミング用フォントです。

サイトから特徴を引用すると
  • ラテン文字には Raph Levien 氏の Inconsolata が適用されます。
  • それ以外の文字には Migu 1M が適用されます。美しい M+ とロバストな IPA、そして、itouhiro 氏が改良された視認性の高い日本語文字 (半濁音など) が使用できます。
  • 半角文字と全角文字の横幅の比が 1:2 に調整されています。
  • 全角スペースが可視化されます。
  • 全角のコンマ、ピリオド、コロン、セミコロンが半角のそれぞれに対して差別化されています。
  • en ダッシュ、em ダッシュが破断線のようになります (LaTeX での入力ミス防止のため)。
と素晴らしい特徴を備えています。
では早速 Gentoo Linux でインストールしましょう。私の環境ではまだ stable になってないので /etc/portage/package.keywordsに

media-fonts/ricty ~amd64

と記述しておきます。他にも package.keywords にキーワードを追加する必要があるかもしれませんが上記を同じように追加してください。では、emerge を走らせます。

emerge ricty

とこれだけで終わりです。あとは主にターミナルエミュレータになると思いますが
アプリケーションのフォント設定をして楽しみましょう。

追記: Ricty は可読性を重視するために全角スペースを判断できるようにしてありますが
これはプログラマでない場合はちょっと気になるものになるかもしれません。事実私が
そうでした。

ということで ebuild ファイルを書き換えて再度 emerge します。


--- ricty-3.1.1.ebuild  2011-11-08 19:01:16.000000000 +0900

+++ ricty-3.1.1.ebuild.new      2011-11-26 00:48:43.537459139 +0900
@@ -29,7 +29,7 @@
 RESTRICT="strip binchecks"
 src_compile() {
-       sh ricty_generator.sh \
+       sh ricty_generator.sh -z\
                "${EPREFIX}/usr/share/fonts/inconsolata/Inconsolata.otf" \
                "${EPREFIX}/usr/share/fonts/mix-mplus-ipa/Migu-1M-regular.ttf" \
                "${EPREFIX}/usr/share/fonts/mix-mplus-ipa/Migu-1M-bold.ttf" || die

変更分との diff の結果です。フォント生成スクリプトに -z オプションを追加している
だけです。ただこのまま emerge ricty とやっても失敗するので (ファイルが変更されているため) 新しいダイジェスト値を求めます。

ebuild /usr/portage/media-fonts/ricty/ricty-3.1.1.ebuild digest

これで新しいダイジェスト値が計算されるのであとは普通に emerge ricty とするだけです。
では、美しいフォント生活をお楽しみください!

11.24.2011

Vimでの文字コード自動判断

どこかからいただいたものです。

ターミナル環境はこの設定を ~/.vimrc に設定して rxvt-unicode を利用しています。
ちなみに IM は UIM で G-HAL さんの Anthy を利用しています。
実際の ~/.vimrc はこれ以外にも書いてありますが好みの問題レベルです。

"--------------------------------------------------------------------------------
" 文字コードの自動認識
if &encoding !=# 'utf-8'
  set encoding=japan
  set fileencoding=japan
endif
if has('iconv')
  let s:enc_euc = 'euc-jp'
  let s:enc_jis = 'iso-2022-jp'
  " iconvがeucJP-msに対応しているかをチェック
  if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
    let s:enc_euc = 'eucjp-ms'
    let s:enc_jis = 'iso-2022-jp-3'
  " iconvがJISX0213に対応しているかをチェック
  elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
    let s:enc_euc = 'euc-jisx0213'
    let s:enc_jis = 'iso-2022-jp-3'
  endif
  " fileencodingsを構築
  if &encoding ==# 'utf-8'
    let s:fileencodings_default = &fileencodings
    let &fileencodings = s:enc_jis .','. s:enc_euc
    if s:fileencodings_default =~ 'utf-8'
      let &fileencodings = &fileencodings .','. s:fileencodings_default
      let &fileencodings = substitute(&fileencodings, "utf-8", "utf-8,cp932", "g")
    else
      let &fileencodings = s:enc_jis .','. s:enc_euc ,', cp932'
      let &fileencodings = &fileencodings .',cp932,'. s:fileencodings_default
    endif
    unlet s:fileencodings_default
  else
    let &fileencodings = &fileencodings .','. s:enc_jis
    set fileencodings+=utf-8,ucs-2le,ucs-2
    if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
      set fileencodings+=cp932
      set fileencodings-=euc-jp
      set fileencodings-=euc-jisx0213
      set fileencodings-=eucjp-ms
      let &encoding = s:enc_euc
      let &fileencoding = s:enc_euc
    else
      let &fileencodings = &fileencodings .','. s:enc_euc
    endif
  endif
  " 定数を処分
  unlet s:enc_euc
  unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
  function! AU_ReCheck_FENC()
    if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
      let &fileencoding=&encoding
    endif
  endfunction
  autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
  set ambiwidth=double
endif
"--------------------------------------------------------------------------------