|
我這邊使用的作業桶是 win8.1,螢幕閱讀器為 NVDA,執行結果如下:
1. 因校友發出預期中的「三種不同的 BEEP 聲音」;而且聲音是從桌上的喇叭出來的,記得從前使用XP,BEEP好像是從電腦喇叭出來的樣子?請其他朋友也幫忙測試看看;
2. msgbox() 的輸出效果,語音能正常朗讀訊息視窗內容;
3. 但點字只能摸到「確定」這兩個字, 必須記得還要多去按 NVDA+數字鍵盤1(切換為「畫面瀏覽」,然後還要再去按數字鍵盤7,這樣方能摸到完整內容;
4. 雖然能摸到信誼視窗完整內容,問似乎會被重新編碼,內容為:⼤家好!這是我寫的第⼀個 Windows 程式,請多指教。
5. 請問「⼤…」不知代表啥一絲?
6. 最後非常重要,使用NVDA切換為畫面瀏覽模式以後,要在記得按 NVDA+數字鍵盤1,切換為「物件瀏覽」,否則之後的操作會有問題,挨!NVDA這樣子好像有點操作複雜耶呵!
大家好的「大」被改成 \x2f24 UNICODE 顯示,故鄉網頁編碼有問題。
我用 XP 的 IE6 看這些文章都沒有把「大」變成亂碼,是不是可以針對不同瀏覽器測試看看?
另外有亂碼的時候,是「友善閱讀」還是一般顯示的狀況?
哦對了,我其實都沒聽到 Beep, 不知道你們怎聽的?也因此我寫的 AutoIt 作品都不用它,這篇文章描述的都是理論,反正 Beep 的說明這樣寫了我就這樣介紹。
我說的亂碼使只程式碼中 msgbox 產生出來的訊息內容,大家好的「大」在win8.1 以 unicode 呈現。
xp 我記得之前執行 beep() 指令的時候,聲音會pc 本身的喇叭,那好像叫做 speaker 的東西吧,聲音從那邊出來音量很小,我猜現在我也聽不見的,但那時候我爾多還好一點。
剛才在辦公室,聲音是透過聲霸卡傳到桌上的喇叭,音量聽起來挺大,所以我現在爾多有問題,卻聽起來很清晰,有三牲 hz 的音效。
根據 AutoIt 官網下載頁: AutoIt has been designed to work on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8 (desktop mode). 沒看到 8.1, 有可能某些地方執行起來仍有問題,雖然不是全部掛點,但仍有問題的話人家不能輕易聲稱有支援。
感謝分享,收穫良多!
我用的也是 WIN8+NVDA,我覺得可能是NVDA在WIN8的編碼,尤其中文的部分還有點狀況吧?粗體字的 UNICODE 編碼不依樣。只是搞不懂,程式碼並沒有要AUTOIT以粗體字顯示,為何它會自動把大小的「大」變為粗體顯示?而正好NVDA沒有定義到這個UNICODE,所以就以內碼顯示,是不是這樣呢?
我針對傳說中的 2F24 近去查找,發現它應該是「康熙部首」區段的字元。 Unicode Character 'KANGXI RADICAL BIG' (U+2F24) 上述網業指出,該字的分解為 big, great, vast, large, high (U+5927), 而 U+5927 就是「大」內碼的十六進位,十進位為 22823. Unicode 2F00-2FDF 這段被康熙部首 (Kangxi Radicals) 使用,這份 PDF 文件列出該區段所有字元。 MsgBox 訊息可改成:
ChrW(22823) 就是用真正「大」的內碼要求它顯示那個字,看看顯示有沒有正確?
我測試結果報告,程式碼改稱:
MsgBox(0, "第一個程式", ChrW(22823) & "家好!這是我寫的第一個 Windows 程式,請多指教。")
跑出來的「大」仍然是內馬顯示。
不過今天NVDA有新的發發,
由於本篇文章留言板數量愈來越多,城市當中如果缺乏超連結之「毛標籤」做法,醉心留言開啟時每次總要從第一則留言案跳見到最後一則,一定挺麻煩,
原先以為NVDA並沒有支援毛標籤的作法,剛測試將「瀏覽模式」的「自動啟動焦點模式」跟「當游標移至編輯區,自動啟動焦點模式」兩個核取方塊取消勾選,所開啟的網頁超連結假如是一毛標籤的話,點自救會自動停在標籤所指定的網頁位置了。這樣真的很棒喔!瀏覽網頁流暢多了,只不過,要文字編輯藍要打字的時候記得要按一次 VDA+SPACE (好像直接按空白鍵也行)才行,不過如果「貼上」已複製的內容,這種操作方式不會受到影響。
而 WIN8 的 BIG5 被放大成為粗體字的現象,似乎常出現在 WINDOWS 的信息視窗裡頭。建議 NVDA 點字設計是否要考慮這點?語音似乎也會有此狀況,不知目前視障者有多少人會在 WIN8 使用點字操作電腦?
在WIN7可以順利執行這裡面的城市,聲音聽起來也很動聽,我想寫三長、兩短的BEEP聲音,不知括弧裡面要怎樣寫?謝謝!
真的很搞不懂,在WIN8的確會那樣耶!
第三個 Beep 有提示了,想要三長兩短就是五個 Beep, 假設五聲都是 440Hz, 長 1.5 秒短 1 秒,則寫出來會類似:
奇怪,這次貼上來跟預覽不一樣,算了我不要用 textarea 直接列五行 Beep:
<p/>
Beep(440, 1500)
Beep(440, 1500)
Beep(440, 1500)
Beep(440, 1000)
Beep(440, 1000)
您好:我把在WIN8產生的粗體字大舞碼符號紀錄如下:
# ⼤ 粗體大家好的大
sign \x2F24 14578-345-5
# ⾴ 粗體網頁的頁
sign \x2FB4 34678-5
# ❈ 粗體字星號
sign \x2748 1678-0
# ⾃ 粗體自動的自
sign \x2F83 12578-156-5
# ⽆ 粗體無法的無簡體字
sign \x2F46 3478-2
# ⽰ 粗體表示的示
sign \x2F70 2478-156-5
# ⾏ 粗體字進行的行
sign \x2F8F 1578-13456-2
# ⽬ 粗體 目光的目
sign \x2F6C 13478-34-5
# ⼀ 粗體 數字依
sign \x2F00 1678-3
# ⽤ 粗體 使用的用
sign \x2F64 23578-5
這是這段時間我使用 ++NVDA 在 WIN8 系統下信息視窗產生的符號,也就是說,上面這些文字,假如它們作為信息內容,在對話視窗出現的時候,都會變成粗體字,而且與標楷體的漢字 UNICODE 不同。
所以我猜,要是您將上面我所列出的幾個字使用奧托信息對話視窗呈現,除非您在 NVDA 點字也定義,否則也會呈現它的內碼。我為自己自方便區隔,特別將粗體字的點字「第一格」都加上七八點,請您參考看看!
Win8 粗體問題,我和孝宇老師認為應該也要尋求台灣點字表這邊的高生旺老師協助。根據孝宇老師在請教的信中表示: win8 似乎會自動將信息內容的第一個字轉變為粗體的中文字? 是否大家能一起檢查,透過亂改 MsgBox 訊息內容,驗證一下這個敘述對否?
我將程式碼寫成:
MsgBox(0, "第一個程式", "嗨!自動大家好!這是我寫的第一個 Windows 程式,請多指教。")
執行結果之信息內容顯示為:
嗨!⾃動⼤家好!這是我寫的第⼀個 Windows 程式,請
所以,並不是第一個字變成粗體字,而是如小蝴蝶說的,似乎某些大舞碼文字會變成粗體文字設定點字表的話,就要找出究竟有哪些大舞碼文字會在WIN8訊息視窗被改變為粗體文字?
"嗨!⾃動⼤家好!"
為何寫在留言板又變成好像不是UNICODE了
"⾃"與"⼤"這兩個字的顯示是啥東西
我把小蝴蝶的留言直接轉至高生旺老師手上,得到答覆如下四行:
我想起來了,在我升級 Win10 的初期確實遇到過這情況,不是對話訊息而是系統項目,例如電腦或本機磁碟之類的。隨著累次更新,現在已經很少見了。 當時曾企圖修改點字表結果無效。這次按照你提供的資料再修訂一次就有效了,所以我又重新上傳了。 去年重修點字表的時候有注意到這些字,但我手中的資料都是用英文描述,無法精準掌握是哪個字,所以只修幾個就跳過了。 替我謝謝這位小蝴蝶。最近總是發現高手藏在民間,自己的能力真的有限,還是謙虛一點的好。
因此請大家幫忙看一下新版點字表,有沒有解決 MsgBox 粗體問題? 另外也謝謝 tom 的驗證,那些 &# 開頭的東西,是 HTML entity, 就是以內碼方式強迫瀏覽器顯示指定的字元。故鄉的編碼是 BIG-5, 所以要顯示這些不支援的字,又要保存完整資料的前提下,就會變成用內碼秀給大家看了。
您好:…真令人開心與振奮,我一職以為我需要寫英文信通知NVDA原作者才能更改點字定義,所以之前只在稍微閱讀定義檔以後,自己修改,現在這廂粗體字母終於獲得正視解決!感謝您跟高老師幫忙!
既然點字可以迅速地獲得重新定義,是否可以再麻煩您一件事情?底下是幾個漢語拼音的英文字母 UNICODE,這些符號除了在教育部辭典漢語拼音會出現,在許多需使用拼音苗物漢字讀音的場合也都會出現,每當在網頁閱讀這些文件,總不免令人困擾,經友人協助,這這些拼音符號整理如下,是否也請寧幫幫轉知高老師?謝謝!
#==== 標註聲調的英文字母:教育部網路辭典中的漢語拼音 unicode
# ā 英文字母 a 注第一生
sign \x0101 17-2
# á 英文字母 a 注第二生
sign \x00E1 17-23
# ǎ 英文字母 a 注第三生
sign \x01CE 17-25
# à 英文字母 a 注第四生
sign \x00E0 17-256
# ē 英文字母 e 注第一生
sign \x0113 157-2
# é 英文字母 e 注第二生
sign \x00E9 157-23
# ě 英文字母 e 注第三生
sign \x011b 157-25
# è 英文字母 e 注第四生
sign \x00E8 157-256
# ī 英文字母 i 注第一聲
sign \x012B 247-2
# í 英文字母 i 注第二聲
sign \x00ED 247-23
# ǐ 英文字母 i 注第三聲
sign \x01D0 247-25
# ì 英文字母 i 注第四聲
sign \x00EC 247-256
# ō 英文字母 o 注第一聲
sign \x014D 1357-2
# ó 英文字母 o 注第二聲
sign \x00F3 1357-23
# ǒ 英文字母 o 注第三聲
sign \x01D2 1357-25
# ò 英文字母 o 注第四聲
sign \x00F2 1357-256
# ū 英文字母 u 注第一 生
sign \x016B 1367-2
# ú 英文字母 u 注第二生
sign \x00FA 1367-23
# ǔ 英文字母 u 注第三生
sign \x01D4 1367-25
# ù 英文字母 u 注第四生
sign \x00F9 1367-256
「教育部辭典漢語拼音會出現,在許多需使用拼音苗物漢字讀音的場合也都會出現」,這個是否可以提供網址,給高老師參考?
令外聯絡 NVDA 作者沒有用,因為「點字」跟 NVDA 由二個不同組織維護,點字是 liblouis 負責維護的。
Linux 上也有螢幕閱讀軟體叫做 Orca, 跟 NVDA 一起都使用 liblouis, liblouis 是一個提供點字轉譯的函式庫,可以用 C/C++ 跟 Python 調用。
孝宇老師說,是教育部重編國語辭典,請問是不是它?但是我沒有遇到這些漢語拼音的怪字,可否告訴我如何點出來?目前我遇到的使用狀況,都是國字後面注音而已,沒有拼音。
請問「liblouis 負責維護點字」意思是說個軟體如果需要使用道點字,可以寫程式來呼叫點字相關函數嗎?它的處襖方式是不是某個符號會對應某個點字的點位定義?例如我想寫「根號6」這樣的數學表達,不知可以怎樣進行書寫與呼叫?而NVDA與點字扮演的關係是啥?或者我能不能用啥辦法額外找個別的城市來處理數學符號?謝謝!
這問題似乎已經跳脫奧托的範圍了耶!真不好意思!我預計會找時間測試在 WIN8 看能怎樣處理第二個「可以在記事本寫字」的城市。謝謝!
liblouis 是「函式庫」,有 dll 檔案可讓別的語言連過來使用它,我想它就是把輸入字串拆成一個個字元,然後查表對應規則裡的點字呈現方式再傳回來轉譯後的答案。 然而,數學麻煩的地方是,它不是循序解釋的語言。「根號六」純文字應該無法打出,可能大家有在知識加看過人家打 √6, 但這種寫法 6 沒包在根號裡,「根號」和 6 仍是二個獨立的字,只能做到點字顯示為 345-12456-235, 前面 345-12456 是根號,後面 235 是 6. liblouis 有提供處理「破音字」的方法,就是把「破音」的部分當成立外來窮列,如「不」平常定義成四聲,即 135-34-5, 但「不要」必須讀二聲,於是點字規則寫:
不要 135-34-2-246-5 這是舉例用的,所以並非 liblouis 點字表 (台灣是 zh-tw.ctb) 使用的正式與法,只是要呈現破音字詞的窮列。我猜能把 √6 也當成破音字來做,可以:
√6 345-235-12456 如此,就會摸到要的點字了,我自己沒有實際實驗,會寫點字表語法的各位可以用看看。然而,這樣的話遇到根號七和根號八也要窮列一次,列舉到無窮無盡,因此就算上面方法有效,也沒有人會這樣做。 至於其他處理數學點字的工具我也未知,聽說高生旺老師正在研究 MathML, 日前 NVDA 宣佈支援 MathML 但我也不知道如何操作,交給有經驗的大大來分享吧,或者期待高老師的新作品!
可不可以數字不管,指定義「根號」這種服號?
假裝「根號」的 Unicode 是 \x123456
點字表的定義就是:
sign \x123456 345-12456
如此,只要遇到這個 Unicode 究顯示為 >},
那麼「根號」六,〈注,國語也是這樣表達的〉,
究顯示為 >}6
不知可行否?
上面那個UNICODE純粹是我亂掰得呵!
高生旺老師已經協助修改小蝴蝶提出的這些拼音符號,還請大家協助驗證一下! 至於根號問題,目前 NVDA 2016.1 已經是孝宇老師描述的這樣了,只差在它唸「開根號」,點字同為 345-12456
Warning: fopen(/home/crazy/www/cmsb/bcj/has_read.php): failed to open stream: Permission denied in /home/crazy/www/compose/reading.php on line 2077
Warning: fputs() expects parameter 1 to be resource, bool given in /home/crazy/www/compose/reading.php on line 2079
Warning: fclose() expects parameter 1 to be resource, bool given in /home/crazy/www/compose/reading.php on line 2080
閱讀文章〈01 第一個程式〉 ---點閱次數 173 !!注意:這個部落格文章閱讀記錄檔的檔案權限無法更新文章閱讀的記錄!!!
回前伊個頁面:也可以直接案倒退鍵唷!
|