Generally, you don’t have to know read here. Please read sortorder extension.

通常はこの頁を読む必要はありません。使い方などについてはsortorder拡張(日本語版説明書)をご覧ください。

sortorder.ja.py

日本語用の SortOrderBase を定義するモジュール

copyright:© 2011-2015 鈴見咲君高(Suzumizaki-Kimitaka)
license:二項BSD(2-clause BSD)

日本語用の sortorder.SortOrderBase 実装です。

Yogosyu(用語集)拡張においては sortorder のほかに yogosyu と user_ordered_index_patch の両方を extension に含める必要があります。

conf.pylanguage = 'ja' を指定しておけば何もしなくても必要な拡張から読み込まれるようになっています。 そうでない場合は ext の拡張リストの中に sortorder_ja を 含めることで自動的に SortOrderJa が使われるようになります。

Yogosyu拡張においては yogosyu directive で読みがなを与えることになります。読みがなと言っても必ずしもひらがな・カタカナでなくても構いません。索引を目で探すことを考えて設定してください。例えば、英単語に対してカタカナを当てることにはあまり意味がありません。単語の一部が英語になっている場合、ルビとは異なり読み仮名も英語のままにしておくほうが良いように思います。

class sortorder.ja.SortOrderJa

Japanese specific SortOrder implementation

日本語用の sortorder.SortOrderBase 実装です。

並べ替えは次の順序になります:

  1. 小書きの文字は通常文字の直後
  2. 濁音は対応する清音の直後
  3. 半濁音は対応する濁音の直後
  4. ASCII内の英字はかなの後ろ
  5. 大文字小文字・ひらがなカタカナは区別しない
  6. 一方が他方を包含する場合は短い方が先
  7. genindexの索引においてはかな→英字→その他の順
  8. 長音は適切であれば「あいうえおん」のどれかに置換

conf.py 用にいろいろ定義して細かく制御もできそうですが、 それは今後の課題、あるいは皆さんでご自由に。

get_group_name(entry_name)

与えられた項目名に対するグループ名を返します

Parameters:entry_name (str_or_unicode) – グループ名が欲しい文字列かその読み文字列
Return type:str(Python 3), unicode(Python 2)
Returns:与えられた文字列に対するグループ名を返します

sortorder.SortOrderBase の実装関数です。

英字は文字通り英字のみでまとめてグループ化します。 各自の実装ではこのあたりに工夫の余地があるでしょう。

get_ja_canonical_yomi(entry_name)

与えられた名前の読みを返します

Parameters:entry_name (str_or_unicode) – 読みがなが欲しい文字列をご指定ください
Return type:str(Python 3), unicode(Python 2)
Returns:与えられた文字列に対する索引用の読みがなを返します

このクラス専用の内部関数です。 読みを得た上でひらがなをカタカナにし、 長音を母音化した文字列を返します。

get_string_to_sort(entry_name)

入力に対する整序用文字列を返します

Parameters:entry_name (str_or_unicode) – 元の文字列かその読みがなを与えてください
Return type:str(Python 3), unicode(Python 2)
Returns:整序用の文字列を返します

sortorder.SortOrderBase の実装関数です。

定義のとおり、読みがな自体を返すわけではないことにご注意ください。

sortorder.ja.get_default_sort_order(cfg)

このmoduleで定義したsortorder.SortOrderBaseクラスの実体を返します

Parameters:cfg (sphinx.config.Config) – Sphinxの設定、ただし現時点で参照されていません
Return type:SortOrderJa
Returns:class:SortOrderJa の実体を返します

sortorder.__init__.py の同名methodから呼び出されます。

sortorder.ja.hiragana_to_katakana(s)

カタカナをひらがなに変換します

Parameters:s (str_or_unicode) – 変換したいカタカナ文字列をご指定ください
Return type:str(Python 3), unicode(Python 2)
Returns:カタカナ部分をひらがなにした文字列を返します

cp932に含まれていないカタカナも全部変換して返します。

sortorder.ja.setup(app)

Sphinxから呼び出される初期化関数です

Parameters:app (sphinx.application.Sphinx) – 環境や設定を含むオブジェクト
Return type:None
Returns:None
sortorder.ja.tyoon_to_vowel(s)

長音符号を母音のカタカナに変換します

Parameters:s (str_or_unicode) – 変換したい長音を含む文字列の全体
Return type:str(Python 3), unicode(Python 2)
Returns:変換結果を返します

各長音符号を、それぞれ直前の文字に基づいて母音に変換した結果を返します。