LibreOffice(9)OpenOffice Developer's Guide日本語版

2014-01-13

旧ブログ

t f B! P L

前の関連記事:LibreOffice(8)統一モデリング言語UML(Unified Modeling Language)の学習


OpenOffice Developer's Guide日本語版を見つけたのですがIE10以外のブラウザではエンコードを変更しても文字化けして読めません。これを修正します。(現在はリンク元も修正されました。

(H26.1.21追記。日本語版管理人の方がこの記事を見て修正してくださいました。ありがとうございます。なのでこの記事に書いてあることは全く現状に即していません。詳細はコメント欄へ。)

なぜかIE10以外ではエンコードを変更しても文字化け直らず


折角見つけたOpenOffice Developer's Guide日本語版

「オンラインで見る」をクリックするとFirefox、Chrome、Sleipnir4、iOS Safari、どれも文字化けして読めません。

・利用ブラウザ
 Netscape 7.1 日本語版で開発していますので、同じソフトウェアを使ってブラウズしてください。 文字は、UTFエンコードです。
 Inrernet Explorerでは、Unicodeのエンコーディングの関係だと推定されますが、正しく読めません。 あしからず。
Developer's Guide
こう書いてあるのですが各ブラウザでエンコーディングをUnicode(UTF-8)を選択してもダメです。

ところがダメと書いてあるIE10で見てみると、、、


あら不思議、なんとちゃんと読めます。IE8はだめでした。

いったいエンコードはどれなのか?


ちゃんと読めるIE10でエンコードを確認してみます。

右クリック→エンコード。


UnicodeはUnicodeなのですがUTF-8ではないUnicodeが選択されています。

UTF-8以外のUnicodeエンコード?

Unicode - Wikipedia

ここを読むとUnicodeといってもいくつか種類があるようですので、UTF-8以外のUnicodeなのかと考えました。

ところが各ブラウザにUTF-8以外のUnicodeのエンコードを追加設定する方法がわかりません。

文字コード判別

この文字コード判別ツールでhttp://openoffice-docj.sourceforge.jp/tr/translated/DevelopersGuide/DevelopersGuide.htmを判別させてみます。


バイナリ?

IE10で保存しなおすと他のブラウザでも読める


どうしようもないので文字化けしていないIE10で一旦ローカルに保存してからFirefoxで開き直してみました。


ちゃんと読めます。

Firefoxでエンコードを確認しようと思ってFirefoxのメニューから「表示」を選択してみます。


「文字エンコードディング」が選択できないのでエンコードがわかりません。

Chromeで確認するとエンコードはUTF-16LEだった


今度はChromeで開いてエンコードを確認しみます。

ツール→エンコード、を見ます。


エンコードはUTF-16LEになっています。

ほうほう。OpenOffice Developer's Guide日本語版のオンライン版もChromeではエンコードをUTF-16LEにするとちゃんと読めました。読み込むたびに手動で設定しないといけないですけど。

各ブラウザが解釈可能なcharsetの比較表

ここをみるとFirefoxでもUTF-16LEが表示できるようなんですがエンコーディングの選択の仕方がわかりません。

iOS Safariでも同じ状況です。

UTF-16LEをUTF-8に変換するは断念


Developer's GuideからダウンロードできるDevelopersGuide.lzhを解凍するとOpenOffice Developer's Guideのhtmlファイルがすべてあります。

どのブラウザでも文字化けせずに見れるようにUTF-16LEをUTF-8に変換します。

WindowsのコマンドプロンプトとUnicode - ほしみんの日記

UTF16→UTF8は下のようにすればできる、と書いてあります。
start /min /wait cmd /c chcp 65001 ^& cmd /c type hoge16.txt ^> hoge8.txt
このコマンドで変換できるようなのですが、いままで使ったことのないコマンドです。

これを真似て変換してみます。
start /min /wait cmd /c chcp 65001 ^& cmd /c type DevelopersGuide.htm ^> DevelopersGuide_UTF-8.htm 
だめです。

できあがったDevelopersGuide_UTF-8.htmをFirefoxで見れるようにはなりませんでした。

ChromeでエンコードをUTF-16LEにしても読めないですしIE10でも読めなくなっています。

ちょっとなにをしているのかコマンドを調べてみます。

chcpはコマンドプロンプトの文字コードが変換するコマンドです。

文字コードの設定(CHCP) - ウィンドウの操作 - コマンドプロンプトの使い方

これによるとコマンドプロンプトでUTF-16を表示させるにはchcp 1200とすればよいように思えますが、やってみると「無効なコードページです」といわれてできません。

この方法は断念します。

IE10で保存しなおすと何が変わるのか調べる


とりあえずIE10で保存し直すをFirefoxでも読めるようになるのでどこが変化しているのかを調べます。

ファイルの比較にはBlogger:IE8で背景の色が消える問題(1)どのあたりが原因かはわかったで使ったMergelyを使います。

、、、IE10でソースを表示させたものを比較したところ全く違いました。

違いが大きすぎてどこが違うのかわかりません。

この方法も断念。

全部のHTMファイルをIE10で開いて保存し直す


もうこれしか方法はありません。

数えてみるとhtmファイルは26個です。

もう手動で全部やってしまいます。

DevelopersGuide.lzhを解凍してできたフォルダでWindows7のエクスプローラの右上にある検索窓にhtmと入力。

すると26個のhtmファイルがでてきます。

IEでは複数ファイルを一気に開く方法はないようです。

一つずつIE10で開いて、ファイル→名前をつけて保存、で元にあるファイルの場所に同じファイル名で上書きします。

26回同じことを繰り返します。

以下の2個のファイルは<BIG>と</BIG>が連続しているところがあって置換で削除しました。

DevelopersGuide/FirstSteps/FirstSteps.htm

DevelopersGuide/ProfUNO/ProfUNO.htm

さらにDevelopersGuide/FirstSteps/FirstSteps.htmは画像のリンクが切れていて手動で直しました。

これらは翻訳途中にみえるところもところどころにあります。

だからwikiに入っていないのだと思います。

サービスの解説が1種類しかないのでOpenOffice.org 2.0より前のものだとわかります。

英語の原本Apache OpenOffice Developer's Guideも参考にしながら使わせていただきます。

上記の修正したものをアップしようとしたのですがhtmファイル同士のリンクがおかしくなっていたのでやめました。

エクスプローラから各htmファイルをクリックしてローカルで読むしかないですね。

参考にしたサイト


Developer's Guide
OpenOffice Developer's Guideの日本語版。

Unicode - Wikipedia
Unicodeの解説。

文字コード判別
URLを入れるとそのページの文字コードを判別するツール。

各ブラウザが解釈可能なcharsetの比較表
FirefoxでもiOS SafariでもUTF-16LEが表示できるようになっているのですが、、、

WindowsのコマンドプロンプトとUnicode - ほしみんの日記
chcpを使ってファイルの文字コードを変換する方法。

文字コードの設定(CHCP) - ウィンドウの操作 - コマンドプロンプトの使い方
コマンドプロンプトの文字コードを変換する方法。

Mergely - Diff online, merge documents
テキスト比較ツール。使い方は左右にコピペするだけ。

Apache OpenOffice Developer's Guide - Apache OpenOffice Wiki
LibreOfficeの解説はないのでOpenOfficeの解説書を使います。

次の関連記事:LibreOffice(10)オブジェクト指向プログラミングのお勉強:総論

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ