% inkscape
(process:18763): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Fontconfig warning: ignoring sjis.UTF-8: not a valid language tag
gtkspell error: enchant error for language: sjis.UTF-8
inkscape
はシェルスクリプト(起動スクリプト)である.
デバッグ用の環境変数を指定すればデバッグログがいくつか吐かれる.
% _DEBUG=1 inkscape
Setting LANGSTR from AppleLocale: ja
Setting LANG from /usr/share/locale/locale.alias
Setting Language: sjis.UTF-8
(process:19317): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Fontconfig warning: ignoring sjis.UTF-8: not a valid language tag
gtkspell error: enchant error for language: sjis.UTF-8
どうやら LANG
が正しく設定できてないようである.
デバッグ出力とスクリプトを眺めてみると, tmpLANG
が正しく設定できていないようである.
tmpLANG="`grep \"\`echo $LANGSTR\`_\" /usr/share/locale/locale.alias | \
tail -n1 | sed 's/\./ /' | awk '{print $2}'`"
\"\`echo $LANGSTR\`_\"
の部分はシステムレベルで日本語を使用するように設定していれば "ja_"
となっている(はず).
% grep "ja_" /usr/share/locale/locale.alias
japanese ja_JP.eucJP
japanese.euc ja_JP.eucJP
ja_JP ja_JP.eucJP
ja_JP.ujis ja_JP.eucJP
japanese.sjis ja_JP.SJIS
% grep "ja_" /usr/share/locale/locale.alias | tail -n1
japanese.sjis ja_JP.SJIS
% grep "ja_" /usr/share/locale/locale.alias | tail -n1 | sed 's/\./ /'
japanese sjis ja_JP.SJIS
% grep "ja_" /usr/share/locale/locale.alias | tail -n1 | sed 's/\./ /' | awk '{print $2}'
sjis
locale.alias
の他のエントリから察するに,各行の第一エントリに .
が含まれていない行は正しく取得できそうである.
スクリプトの該当部分の tail
を head
に変更して起動してみる.
143c143
< tail -n1 | sed 's/\./ /' | awk '{print $2}'`"
---
> head -n1 | sed 's/\./ /' | awk '{print $2}'`"
% _DEBUG=1 inkscape
Setting LANGSTR from AppleLocale: ja
Setting LANG from /usr/share/locale/locale.alias
Setting Language: ja_JP.UTF-8
gtkspell error: enchant error for language: ja_JP.UTF-8
うまくいった. gtkspellのエラーは解決するのが難しそうなので,放置.