Metadata-Version: 2.4
Name: romann
Version: 0.1.0
Summary: 日本語→自然なローマ字・英語変換ライブラリ（kakasi/SudachiPyベース＋外来語辞書対応）
Home-page: https://github.com/kuwa72/romann
Author: ykuwa
Author-email: 
License: MIT License
        
        Copyright (c) 2025 ykuwa
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pykakasi
Requires-Dist: jaconv
Requires-Dist: sudachipy
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# romann

日本語テキストを自然なローマ字や英語表記に変換するPythonライブラリです。
曲名・人名・外来語などを、視認性の高いローマ字や本来のスペルで出力します。
液晶ディスプレイや海外向け表示などにご活用いただけます。

## 主な特徴

- SudachiPyによる高精度な形態素解析
- 外来語は辞書に基づき英語表記に自動変換（カスタマイズ可）
- 4x8ドット液晶でも読みやすいローマ字表記
- Python 3.12対応・TDDによる品質管理

## 変換例

| 日本語 | ローマ字 | 英語表記 |
|:--|:--|:--|
| アース・ウィンド＆ファイアー | Aasu Wind & Faiaa | Earth Wind And Fire |
| いけないボーダーライン | Ikenai Boodaa Rain | Ikenai Border Line |
| さよならCOLOR | Sayonara Color | Sayonara Color |
| 釈迦・イン・ザ・ハウス | Shaka In Za Hausu | Shaka In The House |

## 動作環境

- Python 3.12
- 主要依存: SudachiPy, pykakasi, jaconv

## インストール

```bash
pip install romann
```

## 使い方

```python
from romann import RomanConverter
converter = RomanConverter()
print(converter.to_roman("薔薇の花"))  # Bara No Hana
print(converter.to_roman("アース・ウィンド＆ファイアー"))  # Earth Wind & Fire
```

## 変換ルール

- 単語の先頭は大文字、スペース区切り
- 外来語は辞書にあれば英語表記、なければローマ字
- 記号類はそのまま（「、」「。」は「,」「.」に変換）
- 前後・連続する空白は整理

## 外来語辞書のカスタマイズ

外来語の変換は `hiragana_english.json` および `katakana_english.json` に基づきます。
これらを編集することで、特定単語の変換方法を調整できます。

例（hiragana_english.json）:
```json
{
  "あーす": "earth",
  "どあ": "door"
}
```
- hiragana_english.json: ひらがな→英語表記
- katakana_english.json: カタカナ→英語表記

## 関連

- [Kanjiconv](https://zenn.dev/sea_turt1e/articles/e7dc022231a86c)

---

ご利用・フィードバック・Issue歓迎します。
- 連続する空白は1つの空白に変換

## インストール

```bash
pip install romann
```

## 依存ライブラリ

- pykakasi: 日本語のローマ字変換
- SudachiPy: 形態素解析
- jaconv: 文字コード変換

## 使用方法

```python
from romann import RomanConverter

converter = RomanConverter()

# 日本語テキストをローマ字に変換
text = "薔薇の花"
romaji = converter.to_roman(text)
print(romaji)  # 出力: "Bara No Hana"

# 外来語を含むテキストの変換
text = "アースウィンド"
romaji = converter.to_roman(text)
print(romaji)  # 出力: "Earth Wind"
```

## 外来語辞書のカスタマイズ

外来語の変換は `hiragana_english.json` ファイルに基づいて行われます。このファイルをカスタマイズすることで、特定の単語の変換方法を調整できます。

```json
{
  "あーす": "earth",
  "どあ": "door",
  "らぶ": "love"
}
```

## 使用例

```python
from romann import RomanConverter

converter = RomanConverter()
result = converter.to_roman("こんにちは")
print(result)  # 出力: Konnichiha
```

## 関連

* [Kanjiconv](https://zenn.dev/sea_turt1e/articles/e7dc022231a86c)
