Re: GBReader 簡體中文報讀機 #附加元件

=?ISO-2022-JP?Q?=1B$B9b=4082=22=1B=28J?=
 

我覺得你學 AutoIt3 比較會有成就感。

On Tue, 15 Oct 2019, 嘯傲俠羽 wrote:

Date: Tue, 15 Oct 2019 07:26:58 +0800
From: 嘯傲俠羽 <crazy@...>
Reply-To: nvda-tw@groups.io
To: nvda-tw@groups.io
Subject: Re: [nvda-tw] GBReader 簡體中文報讀機
謝謝你!我自己在實際操作看看!遇到問題再請指教!

在 2019/10/15,Sponge Jhan via Groups.Io <school510587=yahoo.com.tw@groups.io> 撰寫:
Hi 嘯傲俠羽 & all,

import 跟 from 有何不同?
import speech 表示把整個 speech 模組載入以後用 speech.XXX 來存取該模組下的函數、變數等
from speech import speakText 的話,就只能使用 speakText 這個名稱來操作 speech 模組的 speakText

二者還有一個關鍵性的差異,會影響這次高老師要做的 patch
from 的寫法,執行完後自己拿到一個 speakText 變數,代表 speech 模組的 speakText 函數
此時,對 speakText 變數的修改,只改變了它的內容,對於 speech 模組內部毫無影響
import speech 執行完後,自己得到一個變數 speech 代表整個 speech 模組
此時對 speech.speakText 認何修改,等同進入該模組去竄改它的內容了
而且因為被改的是模組本身,這個修改將會影響其他使用 speech.speakText 的執行

然而,這種修補方式,萬一遇到有別的 code 可能來自 NVDA 或者附加元件都好
在高老師的附加元件抽換 speech.speakText 之前,做了 from speech import speakText
該處 code 所使用的 speakText 就是原版的 speakText 而非經過修改的版本
遇到的話,這個可能導致附加元件失效,而且可能難以用附加元件的方式來解決

以上是我目前的理解,thanks.

  sincerely yours
   Bo-cheng Jhan


在 2019年10月15日 星期二 上午4:40:56 [GMT+8], 嘯傲俠羽<crazy@...> 寫道:

可剖分享一下你語法:
import 跟 from 有何不同?
如果後面寫的指令搜一樣,
前面用 import 跟 from 引進檔案會有何不同或者效果差異嗎?
謝謝!

不好意思,我都一直還停留在初學街算!

在 2019/10/13,Sponge Jhan via Groups.Io <school510587=yahoo.com.tw@groups.io>
撰寫:
  Hi 高老師:

我正需要攔截 speaktext() 的 text 來先做處理在還給它,請問有沒有實做的城市馬可以給我觀摩?
是 speech 模組下的 speakText 嗎?
可以先載入該模組:

import speech

注意不是 from speech import speakText
然後自己寫一個 speakText 如下:

old_speakText = speech.speakText # 先把原本的 speakText 保留下來
def my_speakText(text, *args, **kwargs):
  # 自己的前處理
  return old_speakText(text, *args, **kwargs)

為了保留排版,我上面用了全形空白,請留意
以上的 *args, **kwargs 是預留彈性,為避免 NVDA 日後增加新參數導致附加元件失效
注意 return 使用的是 old_speakText 而非 speech.speakText, 因為 speech.speakText
已經變成自己的實作
之後,可以用 speech.speakText = my_speakText 覆蓋原本的實作,也可以用 speech.speakText =
old_speakText 還原

請參考看看,thanks.

  sincerely yours
   Bo-cheng Jhan


      在 2019年10月13日 星期日 下午5:51:49 [GMT+8], 高生旺<coscell@...> 寫道:

  我正需要攔截 speaktext() 的 text 來先做處理在還給它,請問有沒有實做的城市馬可以給我觀摩?
感謝!

On Sun, 13 Oct 2019, Larry Wang wrote:

Date: Sun, 13 Oct 2019 17:44:35 +0800
From: Larry Wang <larry.wang.801@...>
Reply-To: nvda-tw@groups.io
To: nvda-tw@groups.io
Subject: Re: [nvda-tw] GBReader 簡體中文報讀機

有些两岸不同的名词可以考虑用zhconv这个库转换
不过这样就需要给朗读函数添加补丁来完成了

https://pypi.org/project/zhconv/

On 2019/10/13 11:19, 高生旺 wrote:
在 line 群組看過好幾位夥伴提出報讀簡體中文的需求,於是寫了這個附加元件。
不論是閱讀電子書、玩大陸的遊戲,甚至安裝大陸軟體,
只要螢幕上出現簡體中文讓您聽不懂,都可以按個按鍵來解決,還可以隨身攜帶。
有需要的人可以多加利用,下在網址:
http://nvda.gaga.tw















Join nvda-tw@groups.io to automatically receive all group messages.