漢字をふりがなに変換する機能はCalcにはないのですか?

ふりがなを生成するExcelのPHONETIC関数に相当するものはCalcにはないようなので、以下のサイトから拡張機能をダウンロードして試してみましたが、機能しませんでした。
他に方法はないのでしょうか?

Kanji to Phoentic(漢字をふりがなに変換)

バージョン: 6.4.7.2
Build ID: 1:6.4.7-0ubuntu0.20.04.6
CPU threads: 4; OS:Linux 5.15; UI render: default; VCL: gtk3;
ロケール: ja-JP (ja_JP.UTF-8); UIの言語: ja-JP
Calc: threaded

1 Like

ながらくレスがついてなかったので回答します。
Calcには漢字の読みを保存するコンテナがありません。
インプットメソッドから読みを取得する方法が
クロスプラットフォームで実現出来なかったからのようです(間違ってるかもしれませんが)

同じく読みを保存する機能のないGoogleスプレッドシートでは
GASというLibreofficeのマクロにあたるもので
Web APIを利用して、ふりがなを取得している人もいるようです。

Yahoo ルビ振りAPI
Goo ひらがな化API
よみたんAPI
その他にもあるかもしれません

Web APIの欠点は利用制限がある事です。
1分間に300回とか1日何万件とか商用不可とかです。

マクロわからないという人の為に関数を作りたいなと
思っていますが、私の力量では実現までにまだ日を要しそうです。

勘のいい人ならWebservice関数でよみたんapiを使用することもできますが
詳しく書くとリソースの奪い合いで使えなくなるかもしれないので割愛します。

2 Likes

回答ありがとうございます。
なんか非常に難しそうですね。
私には理解できません。

ふりがな拡張機能を公開している者です。
ふりがなを割り出すためにYahooが提供しているサービスを裏で使用しているのですが、この仕様が変更されたために動かなくなっている様です。
修正してみたいと思いますがちょっと時間が掛かるかもしれません。
うまく行ったらまたこちらに報告したいと思います。

3 Likes

ありがとうございます。期待しています。

ひらがな化 0.3という拡張機能をさきほどアップロードしました
kakasiの辞書,昔のIME用人名辞書をデータベースにして該当文字をひらがなにします。

用途として、人の名前にふりがなをつける場合がメインになるかと思いますが、
日本語を覚えたい外国人の参考になるかも?

用語の登録や平成以降の名前のバリエーションが無く
あくまでもオフラインでの参考程度ですが何かのたしになればと思います

使用しているコードの都合上7.1以降でないと動作しないのも申し訳ないです

2 Likes

これですね。オフラインで使えるのはいいですね。
https://extensions.libreoffice.org/en/extensions/show/27725

拡張機能をバージョンアップしました。
現在審査中で、以下のページで近いうちに公開されると思います。
https://extensions.libreoffice.org/en/extensions/show/kanji-to-phoentic-6f225b5730923075308a306a306b590963db

2 Likes

ありがとうございます。

公開されましたね!
うまく動きました。

2 Likes

公開されたものを試したらうまく動きました。
ありがとうございました。

2 Likes

オンラインハックフェストで、以下の話題がありました。
「アルファベット」「算用数字」「記号」は、ふりがなに変換させるとデータが欠落します。「漢数字」は、「三四郎」のように辞書にありそうな文字列の時は変換されますが、多くの場合データが欠落します。

Yahooが提供するAPIの問題ですので、対応は難しそうでした。

1 Like

なるほど。参考になります。

1 Like

今まで数字などがふりがなにならず消えていましたので、「5本の指」、を「5ほんのゆび」のように変換する対応を、今日の勉強会の時間に行いました。作者の方にバージョンアップを依頼しました。APIの都合で、数字にはふりがなはありません。
そのうち、Extensionが公開されるはずです。
https://extensions.libreoffice.org/en/extensions/show/kanji-to-phoentic-6f225b5730923075308a306a306b590963db

ありがとうございます。
期待しています。

拡張機能のソースコードの話

FuriganaCnv = Furigana_w
の前に
Furigana_w = Replace(Furigana_w, "\n", Chr(10))
を追加するとセル内改行にも対応します。

2 Likes

このパターンは、テストすらしていませんでした。
ありがとうございます!