平衡点
2007/12/03
_ 続: subversion とロケール
先日, id:sasakyh:20071130#p2 で呟いていたのだけれど, その原因がようやくわかった. 症状は
- リポジトリのあるサーバでは, ロケールを設定した後で status, commit ができる
- LANG=ja_JP.UTF-8 では駄目. unset LANG + LC_ALL=C で可能になる
- リモートのラップトップからは何やっても駄目
これは svn+ssh で作業していたのが問題で, リモートから接続する際には ssh 接続後に svnserve が呼ばれる. でもって, svnserve はやっぱり unset LANG + LC_ALL=C でなければロケール回りのエラーで怒られた.
結論から言うと,
- サーバはまだ sarge で動いていて, locale で UTF-8 がサポートされていない
- locale -a で utf8 が無い.
という事だった.
エラーメッセージ
svn update svn: error: cannot set LC_ALL locale svn: error: environment variable LANG is ja_JP.UTF-8 svn: error: please check that your locale name is correct
は正しかった訳だ.
とりあえず, サーバ側の LANG を ja_JP.EUC-JP に戻しておく.
2013/12/03
_ Roundcube のメールデコード
良く知られた話かもしれませんが...
世の中には機種依存文字というのがありまして, メールの文字コードは ISO-2022-JP と謳っていながら, その実丸囲み数字とかが存在する, というメールが飛び交っております.
単に自分が受ける側であれば,
なんかを参考に, 適宜設定しておくと良いのかもしれません(cc-env memo: Wanderlust の設定).
ウチ 某所サーバでは, WebMail のサービスとして Roundcube を提供しています. で, 飛び交うメールが偶に WebMail 上で読めない, という事態が発生していることに今更ながら気がつきました.
...という訳で, ad hoc ながら /usr/share/roundcube/program/lib/Roundcube/rcube_charset.php に手を加えてみます.
# source: diff --- rcube_charset.php.orig 2013-12-03 01:05:20.966192376 +0900 +++ rcube_charset.php 2013-12-03 01:06:28.031257391 +0900 @@ -229,6 +229,11 @@ // convert charset using mbstring module if ($mbstring_list !== null) { $aliases['WINDOWS-1257'] = 'ISO-8859-13'; + $aliases['JIS'] = 'ISO-2022-JP-MS'; + $aliases['ISO-2022-JP'] = 'ISO-2022-JP-MS'; + $aliases['EUC-JP'] = 'EUCJP-WIN'; + $aliases['SJIS'] = 'SJIS-WIN'; + $aliases['SHIFT_JIS'] = 'SJIS-WIN'; // it happens that mbstring supports ASCII but not US-ASCII if (($from == 'US-ASCII' || $to == 'US-ASCII') && !in_array('US-ASCII', $mbstring_list)) { $aliases['US-ASCII'] = 'ASCII';
...こんなんで良いのかなぁ.
mbstring で JIS, ISO-2022-JP, EUC-JP, SJIS, SHIFT_JIS を扱う際に, Roundcube 内で global に alias を定義しておくと良いのかもしれませんが, あんまりコード眺めてないので対応がこれで良いのか定かではありません. 誰か教えて下さい.
あ, 対応する Roundcube の version は 0.9.5-1~bpo70+1 です.
にんともかんとも.
2023/12/03
_ TeX on Debian 12 (Bookworm)
はじめに.
こんにちは, こんばんわ, おはようございます. Twitter が凍結されて半年が経ちました. 皆様いかがお過ごしでしょうか.
閑話休題.
この文書はTeX & LaTeX Advent Calendar 2023の12/03(日)分の記事です。 昨日はh20y6mさんの和文VFで異体字する話 - h20y6m.github.ioでした.
今年の重点テーマは 「(La)TeXで幸せになる方法」 とのことです.
毎度の事ですが 私が書けそうなのは Debian の話なので, 現安定版 Bookworm の TeX 収録状況をサマリしておきます.
TeX on Debian 12 (Bookworm)
Debian 12 – コードネーム Bookworm は, 今年 2023年6月10日にリリースされた, Debian の最新安定版です.
ここの所, 約2年毎の着実なリリースということで, ユーザにとっては大きな変更点はなく収録ソフトウェアのバージョンが着々と更新されており, 特に TeX を利活用する方にとってお勧めしやすい Linux ディストリビューションの一つと言えるでしょう(多分)
Debian において TeX 環境をインストールしたい方は, おもむろに
% sudo apt install texlive-full
を唱えて, コーヒーでも煎れつつ, 少し待ちましょう.
…. じゃ駄目ですかね?
依存考えて(=必要なパッケージが何で), それを明示的に指定してインストールする, ってのは結構ハードル高いんじゃないかと思うんですが, まあ, 今年の TeXConf 2023 の munepi さんの御講演: 「TeXLive インストールの "いま" を知る」 によると 「 時間がかかる 」という怨嗟の声 が X(旧 Twitter) に溢れていたそうで. うーん….
- とりあえず (u)pLaTeX が使いたい
% sudo apt install texlive-lang-japanese
- XeTeX と日本語関係 (bxjsarticle とか)使いたい
% sudo apt install texlive-lang-japanese texlive-xetex
- LuaLaTeX で日本語したい
% sudo apt install texlive-lang-japanese texlive-xetex
ですかね(多分. 普段, 自分では texlive-full をインストールしているので検証してません).
足りないパッケージは他にもあるかとは思いますが, それは都度探してみて下さい.
探す時に便利なのは apt-file
コマンドです.
% sudo apt install apt-file : % sudo apt-file update % apt-file search /usr/bin/lualatex texlive-latex-base: /usr/bin/lualatex texlive-latex-extra: /usr/bin/lualatex-dev
といった塩梅で, ファイルが探せます.
なお, Bookwirm に収録されている TeXLive のバージョンは
パッケージのバージョンに 2022.20230122-3
とある様に, 2023/01/22 時点での TeXLive の様です.
ちなみに [debian-users 00947] から始まる話にある通り, 異体字の扱いに多少の不具合(?)があります.
TeXLive 本体の変更に追いついていなかった/気がつかなかったのが原因ではありますが, すみませんでした.
余談: tlmgr はどうなるの?
一応, Debian パッケージにも tlmgr は収録されていますので, Debian パッケージ版の TeXLive ではなく, 現在のリリース版の TeXLive を 自己責任でインストールする ことも可能ではあります(他のパッケージの依存関係がどうなるのか, 知りませんが…).
というわけで回答しますと「apt で入れたら apt に任せましょう」ですかねぇ.
検索すると
- apt で texlive-full を入れる
- tlmgr で texlive の scheme-full を入れる
- ようやくインストールが終わった!!!
とか呟いている方がいらっしゃって, 暖かい気持になりました.
「Debian(Ubuntu)での TeX の歩き方」みたいなの, 需要あるのかな.
そんなこんなで.
いつも通り, Debian での TeX のお話でした.
深く考えずに
% sudo apt install texlive-full
しておけば, 幸せになれますよ(多分).
明日は doraTeX さんです.