Skip to content

Commit 3f815a1

Browse files
author
Hiroki Fujii
committed
Merge branch 'master' into release
2 parents e036dbc + cc427a5 commit 3f815a1

8 files changed

Lines changed: 83 additions & 24 deletions

File tree

addon/globalPlugins/dokutor_for_nvda/__init__.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from logHandler import log
1818
from .constants import *
1919
from . import updater
20+
from . import converter
2021

2122

2223
try:
@@ -40,6 +41,8 @@ def __init__(self, *args, **kwargs):
4041

4142
# dokutar dic file path
4243
self.dictPickle = os.path.join(os.path.realpath(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), "riryou_dict.dat")
44+
self.dictFile = os.path.join(os.path.realpath(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), "riryou_dict.dict")
45+
self.dictFileSource = os.path.join(os.path.realpath(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), "dokutor_dev.csv")
4346

4447
if globalVars.appArgs.secure:
4548
return
@@ -97,7 +100,7 @@ def _setupMenu(self):
97100
wx.EVT_MENU, self.performUpdateCheck, self.updateCheckPerformItem)
98101

99102
self.rootMenuItem = gui.mainFrame.sysTrayIcon.menu.Insert(
100-
2, wx.ID_ANY, _("DFN"), self.rootMenu)
103+
2, wx.ID_ANY, _("読ター For NVDA"), self.rootMenu)
101104

102105
def dictStateToggleString(self):
103106
return _("理療科用読み辞書を解除する(&A)") if "riryou" in speechDictHandler.dictTypes else _("理療科用読み辞書を適用する(&A)")
@@ -141,6 +144,7 @@ def script_changeDict(self, gesture):
141144
if "riryou" in speechDictHandler.dictTypes:
142145
self.clear()
143146
else:
147+
tones.beep(1200, 80)
144148
self.load()
145149
#Translators: Input help mode message for change dict command.
146150
script_changeDict.__doc__ = _("理療科用読み辞書の適用状態を切り替える")
@@ -149,10 +153,17 @@ def toggleDictState(self, evt=None):
149153
if "riryou" in speechDictHandler.dictTypes:
150154
self.clear()
151155
else:
156+
tones.beep(1200, 80)
152157
self.load()
153158

154159
def load(self):
155-
ui.message(_("理療科用読み辞書を適用します。"))
160+
# 辞書ファイル読み込みモードのときはファイルを変換
161+
if os.path.isfile(self.dictFileSource) and (not os.path.isfile(self.dictPickle)):
162+
converter.convertFile(self.dictFileSource, self.dictFile)
163+
dic = speechDictHandler.SpeechDict()
164+
dic.load(self.dictFile)
165+
with open(self.dictPickle, "wb") as f:
166+
_pickle.dump(dic, f)
156167
# 理療科辞書オブジェクト読み込み
157168
with open(self.dictPickle, "rb") as f:
158169
speechDictHandler.dictionaries["riryou"] = _pickle.load(f)
@@ -162,9 +173,9 @@ def load(self):
162173
speechDictHandler.dictTypes = tuple(ls)
163174
self.dictStateToggleItem.SetItemLabel(self.dictStateToggleString())
164175
self.finishTone()
176+
ui.message(_("理療科用読み辞書使用中。"))
165177

166178
def clear(self):
167-
ui.message(_("理療科用読み辞書を解除します。"))
168179
if "riryou" in speechDictHandler.dictTypes:
169180
# 理療科辞書タイプを削除
170181
ls = list(speechDictHandler.dictTypes)
@@ -174,6 +185,7 @@ def clear(self):
174185
del speechDictHandler.dictionaries["riryou"]
175186
self.dictStateToggleItem.SetItemLabel(self.dictStateToggleString())
176187
self.finishTone()
188+
ui.message(_("理療科用読み辞書解除。"))
177189

178190
def finishTone(self):
179191
tones.beep(1200, 80)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import re
2+
import codecs
3+
4+
def convertFile(fileName, converted):
5+
file = codecs.open(fileName,"r","utf-16",errors="replace")
6+
lines = []
7+
tmpDic = {}
8+
for line in file:
9+
if line.isspace():
10+
continue
11+
line=line.rstrip('\r\n')
12+
if line.startswith('#'):
13+
continue
14+
line = line.replace(",", "\t")
15+
line = line + "\t0\t0"
16+
patternLength = len(line.split("\t")[0])
17+
if not patternLength in tmpDic:
18+
tmpDic[patternLength] = []
19+
tmpDic[patternLength].append(line)
20+
for i in sorted(tmpDic.keys(), reverse=True):
21+
for l in tmpDic[i]:
22+
lines.append(l)
23+
with open(converted, mode="w", encoding="utf-8") as f:
24+
f.write("\r\n".join(lines))
25+
return True
26+

addon/riryou_dict.dat

17 Bytes
Binary file not shown.

buildVars.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: UTF-8 -*-
22

3-
ADDON_VERSION = "1.1.1"
4-
ADDON_RELEASE_DATE = "2022-05-20"
3+
ADDON_VERSION = "1.1.2"
4+
ADDON_RELEASE_DATE = "2022-09-23"
55
ADDON_NAME = "dokutor_for_nvda"
66
ADDON_KEYWORD = "DFN"
77

public/readme.txt

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# 読ターFor NVDA Ver1.1.1 説明書
1+
# 読ターFor NVDA Ver1.1.2 説明書
22

3-
(更新: 2022-05-20)
3+
(更新: 2022-09-23)
44

55

66
## 目次
@@ -102,29 +102,30 @@ NVDAには、アドオンと呼ばれる、利用者が機能を追加できる
102102
理療科用読み辞書の適用状態を切り替えるには、次のいずれかの操作を行います。
103103

104104
* [NVDA] + [Ctrl] + [Shift] + Dを押す
105-
* NVDAメニューから「DFN」を選択し、「理療科用読み辞書を適用する」または「理療科用読み辞書を解除する」を実行
105+
* NVDAメニューから「読ター For NVDA」を選択し、「理療科用読み辞書を適用する」または「理療科用読み辞書を解除する」を実行
106106

107107
切り替え時には、切り替え方向と処理状況を、以下のようにビープ音と音声でお知らせします。
108108

109109
* 音声
110-
* 通常状態から理療科用読み辞書を適用: 理療科用読み辞書を適用します
111-
* 理療科用読み辞書適用中から通常状態へ戻す: 理療科用読み辞書を解除します
110+
* 通常状態から理療科用読み辞書を適用した: 理療科用読み辞書使用中
111+
* 理療科用読み辞書適用中から通常状態へ戻した: 理療科用読み辞書解除
112112
* ビープ音
113+
* 理療科用読み辞書の適用処理を開始した: ピ
113114
* 処理完了: ピピ
114115

115116
なお、NVDA起動直後の理療科用読み辞書の適用状態は、以下の方法で切り替えることができます。
116-
NVDA起動直後であっても、理療科用読み辞書が有効になる場合は上記のようにお知らせします
117+
NVDA起動直後に理療科用読み辞書が適用される場合は、上記のうち、処理開始をお知らせするビープ音はなりません
117118

118-
* NVDAメニューから「DFN」を選択し、「起動時の理療科用読み辞書の適用を有効化」または「起動時の理療科用読み辞書の適用を無効化」を実行
119+
* NVDAメニューから「読ター For NVDA」を選択し、「起動時の理療科用読み辞書の適用を有効化」または「起動時の理療科用読み辞書の適用を無効化」を実行
119120

120121
### アップデートの確認と実行
121122

122123
本アドオンは、読み辞書や機能の更新、および不具合の修正などのため、アップデートが提供されることがあります。
123-
アドオンのアップデートは、NVDAメニューから「DFN」を選択し、「アップデートの確認」を実行することでいつでも確認することができます。
124+
アドオンのアップデートは、NVDAメニューから「読ター For NVDA」を選択し、「アップデートの確認」を実行することでいつでも確認することができます。
124125
アップデートが見つかると、更新を促すメッセージが表示されます。案内に従ってアップデート作業を行ってください。
125126

126127
また、本アドオンには、NVDA起動時に自動でアップデートを確認する機能が搭載されています。
127-
NVDAメニューから「DFN」を選択し、「起動時のアップデートの確認を無効化」あるいは「起動時のアップデートの確認を有効化」を実行することで設定を変更できます。
128+
NVDAメニューから「読ター For NVDA」を選択し、「起動時のアップデートの確認を無効化」あるいは「起動時のアップデートの確認を有効化」を実行することで設定を変更できます。
128129

129130
## 6. 著作権
130131

@@ -153,6 +154,11 @@ ACT Laboratory(Accessible Tools Laboratory)は、プログラミングを学ぶ
153154

154155
## 8. 更新履歴
155156

157+
* 1.1.2 (2022/09/23)
158+
* 一部環境で、長い単語を正常に読み上げられないことがあった問題を修正
159+
* NVDAメニューの表示を「読ター For NVDA」に変更
160+
* 処理状況の通知方法を改善
161+
156162
* 1.1.1 (2022/05/20)
157163
* 本家の読み辞書更新(1.21)を適用
158164

readme.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# 読ターFor NVDA Ver1.1.1 説明書
1+
# 読ターFor NVDA Ver1.1.2 説明書
22

3-
(更新: 2022-05-20)
3+
(更新: 2022-09-23)
44

55

66
## 目次
@@ -102,29 +102,30 @@ NVDAには、アドオンと呼ばれる、利用者が機能を追加できる
102102
理療科用読み辞書の適用状態を切り替えるには、次のいずれかの操作を行います。
103103

104104
* [NVDA] + [Ctrl] + [Shift] + Dを押す
105-
* NVDAメニューから「DFN」を選択し、「理療科用読み辞書を適用する」または「理療科用読み辞書を解除する」を実行
105+
* NVDAメニューから「読ター For NVDA」を選択し、「理療科用読み辞書を適用する」または「理療科用読み辞書を解除する」を実行
106106

107107
切り替え時には、切り替え方向と処理状況を、以下のようにビープ音と音声でお知らせします。
108108

109109
* 音声
110-
* 通常状態から理療科用読み辞書を適用: 理療科用読み辞書を適用します
111-
* 理療科用読み辞書適用中から通常状態へ戻す: 理療科用読み辞書を解除します
110+
* 通常状態から理療科用読み辞書を適用した: 理療科用読み辞書使用中
111+
* 理療科用読み辞書適用中から通常状態へ戻した: 理療科用読み辞書解除
112112
* ビープ音
113+
* 理療科用読み辞書の適用処理を開始した: ピ
113114
* 処理完了: ピピ
114115

115116
なお、NVDA起動直後の理療科用読み辞書の適用状態は、以下の方法で切り替えることができます。
116-
NVDA起動直後であっても、理療科用読み辞書が有効になる場合は上記のようにお知らせします
117+
NVDA起動直後に理療科用読み辞書が適用される場合は、上記のうち、処理開始をお知らせするビープ音はなりません
117118

118-
* NVDAメニューから「DFN」を選択し、「起動時の理療科用読み辞書の適用を有効化」または「起動時の理療科用読み辞書の適用を無効化」を実行
119+
* NVDAメニューから「読ター For NVDA」を選択し、「起動時の理療科用読み辞書の適用を有効化」または「起動時の理療科用読み辞書の適用を無効化」を実行
119120

120121
### アップデートの確認と実行
121122

122123
本アドオンは、読み辞書や機能の更新、および不具合の修正などのため、アップデートが提供されることがあります。
123-
アドオンのアップデートは、NVDAメニューから「DFN」を選択し、「アップデートの確認」を実行することでいつでも確認することができます。
124+
アドオンのアップデートは、NVDAメニューから「読ター For NVDA」を選択し、「アップデートの確認」を実行することでいつでも確認することができます。
124125
アップデートが見つかると、更新を促すメッセージが表示されます。案内に従ってアップデート作業を行ってください。
125126

126127
また、本アドオンには、NVDA起動時に自動でアップデートを確認する機能が搭載されています。
127-
NVDAメニューから「DFN」を選択し、「起動時のアップデートの確認を無効化」あるいは「起動時のアップデートの確認を有効化」を実行することで設定を変更できます。
128+
NVDAメニューから「読ター For NVDA」を選択し、「起動時のアップデートの確認を無効化」あるいは「起動時のアップデートの確認を有効化」を実行することで設定を変更できます。
128129

129130
## 6. 著作権
130131

@@ -153,6 +154,11 @@ ACT Laboratory(Accessible Tools Laboratory)は、プログラミングを学ぶ
153154

154155
## 8. 更新履歴
155156

157+
* 1.1.2 (2022/09/23)
158+
* 一部環境で、長い単語を正常に読み上げられないことがあった問題を修正
159+
* NVDAメニューの表示を「読ター For NVDA」に変更
160+
* 処理状況の通知方法を改善
161+
156162
* 1.1.1 (2022/05/20)
157163
* 本家の読み辞書更新(1.21)を適用
158164

readme_dev.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# 読ター辞書の更新を受領したとき
2+
3+
1. addons/dokutor_for_nvda/ に移動
4+
2. riryou_dict.datを削除
5+
3. 読ターcsvを、dokutor_dev.csvにリネームして配置
6+
4. DFNの有効化を行う
7+
5. riryou_dict.datと同時に、NVDA辞書ファイルも出力される
8+
6. DFNは、出力されたriryou_dict.datを用いて有効化される
9+

version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version": "1.1.1", "release_date": "2022-05-20"}
1+
{"version": "1.1.2", "release_date": "2022-09-23"}

0 commit comments

Comments
 (0)