Forums:

เคยใช่ไหมที่บางทีอ่านอะไรต่างๆ อยู่ แล้วก็เจอว่า NVDA ของเรามันอ่านเป็นคำอะไรแปลกๆ ก็ไม่รู้ หรือไม่ก็รู้สึกเหมือนกับว่ามันอ่านไปเจออะไรสักอย่าง แต่มันอ่านออกมาไม่ได้ ทำให้การอ่านไม่ราบรื่นเท่าที่ควร

ปัญหาเหล่านี้เกิดมาจากการที่โปรแกรม NVDA นั้นอ่านไปพบสัญลักษณ์ต่างๆ ที่มันไม่รู้ว่าจะอ่านว่าอย่างไร บางทีก็อ่านออกมาเป็นคำที่เราไม่เข้าใจ และบางทีมันก็ตัดสินใจเงียบ (ไม่อ่าน) สัญลักษณ์นั้นๆ ไปเสียเฉยๆ จึงเป็นสาเหตุที่ทำให้การอ่านของเราไม่ราบรื่น ดังนั้นวิธีง่ายๆ ที่จะทำให้การอ่านของเราดีขึ้นก็คือการสอนให้โปรแกรมมันรู้จักสัญลักษณ์และตัวอักษรต่างๆ ให้เยอะขึ้นนั่นเอง

นอกจากสัญลักษณ์ทั่วไปอย่าง ? (registered), ? (Trademark) ? (Copyright) ซึ่งพวกนี้ตัวโปรแกรม NVDA สามารถอ่านมันได้อยู่แล้ว (ต้องปรับการอ่านสัญลักษณ์ Symbols level- NVDA+p ให้เป็น some ขึ้นไป) ก็ยังมีสัญลักษณ์อีกหลายแบบที่ตัวโปรแกรมไม่ได้ออกแบบมาให้ได้อ่านได้ด้วยตัวเองแต่ผู้คนก็นิยมใช้งานกัน จนถือว่าเป็นมาตรฐานของการสื่อสารในยุคใหม่ไปแล้ว

สัญรูปอารมณ์ (อังกฤษ: emoticon) คือชุดของสัญลักษณ์ต่าง ๆ เช่น :), ^-^, หรือ :-) หรือภาพขนาดเล็ก ที่มีจุดประสงค์เพื่อแสดงสีหน้าของมนุษย์ และสื่อถึงอารมณ์ สัญรูปอารมณ์เป็นรูปแบบหนึ่งของลักษณะน้ำเสียงที่ใช้กันแพร่หลายในข้อความอีเมล, ในกระดานข่าวอิเล็กทรอนิกส์, และในแชทรูม คำว่า emoticon ในภาษาอังกฤษ มาจากการผสมคำว่า emotion (อารมณ์) และ icon (สัญรูป) เข้าด้วยกัน อ่านเพิ่มเติมได้จาก Wikipedia

สำหรับ emoticon คนที่เล่น MSN คงจะคุ้นเคยกันอยู่บ้าง และสำหรับโปรแกรม Jaws เองก็มี script ที่ตั้งให้อ่าน emoticon ในโปรแกรม MSN ออกมาเป็นคำที่เราเข้าใจได้ ซึ่งน่าจะดีกว่าการที่มันอ่านเป็นตัวอักษรและเราต้องมาทำความเข้าใจเองแน่ๆ

และนอกจาก emoticon แล้ว เดี๋ยวนี้คนก็นิยมใช้สัญลักษณ์ของญี่ปุ่น ที่เรียกว่า emoji ซึ่งเจ้า emoji นี่ได้รับความนิยมแค่ไหน ก็คิดง่ายๆ ว่า ใน iOS ยังมี emoji keyboard ให้ใช้งานเลย

ซึ่งลักษณะของ emoji นี้ มันจะไม่ได้เป็นตัวอักษรที่โปรแกรมอ่านให้เราฟัง แล้วเอาไปทำความเข้าใจเองได้ว่ามันควรจะประกอบกันเป็นสัญรูปที่แทนอารมณ์แบบใด ดังนั้นการที่จะทำให้เราเข้าถึง emoji เหล่านี้ได้ ก็มีทางเดียวคือต้องสอนให้โปรแกรมอ่านจอภาพของเรารู้จักมัน และกำหนดว่าจะให้อ่านมันให้เราฟังอย่างไร

ซึ่งความโชคดีของเราก็คือ มีผู้ที่ได้รวบรวม emoji จำนวนมาก (5,000 กว่าตัว) พร้อมทั้งกำหนดคำอ่านและทำเป็นไฟล์ที่เราสามารถนำไปใช้กับโปรแกรม NVDA ได้เลยไว้ให้เราเรียบร้อยแล้วจึงเป็นที่มาของการแนะนำในโพสต์นี้นั่นเอง ^_^

ก่อนอื่นต้องอธิบายก่อนว่า ไฟล์ที่มีผู้นำมาแจกนี้ ไม่ได้เป็นไฟล์ dictionary ของโปรแกรม NVDA แต่มันจะไปอยู่ในส่วนของ Punctuation/symbol pronunciation ที่อยู่ใน NVDA menu > Preferences > Punctuation/symbol pronunciation ซึ่งเราสามารถปรับระดับการอ่านได้ว่าจะให้โปรแกรมอ่านสัญลักษณ์ใด ในระดับใดบ้าง แต่ในไฟล์ที่จะให้โหลดไปใช้งานกันนี้ ผู้สร้างเขากำหนดว่าให้อ่าน emoji เหล่านี้ทุกตัวในกรณีต่ำสุด คืออ่านในทุกกรณีนั่นเอง... ถ้าใครคิดว่าไม่ชอบแบบนี้ คอมเม้นเข้ามาสอบถามได้นะครับ แล้วจะบอกวิธีปรับเปลี่ยนให้ (ถ้าไปนั่งกำหนดแก้เองทีละตัว 5,000 กว่าตัวนี่คงเมื่อยแย่ 55)

ก่อนอื่นเราก็ต้องโหลดไฟล์ที่ว่านี่กันก่อนครับ

ขนาด: 200 KB

โดยต้องเตือนว่าไฟล์ที่โหลดไปนี่ห้ามเปลี่ยนชื่อมันเลยนะครับ เพราะการที่มันจะทำงานได้หรือไม่ได้นี่ขึ้นอยู่กับชื่อมันเป็นสำคัญเลยแหละ

เมื่อเรามีไฟล์symbols-en.dic ไว้ในครอบครองกันแล้ว ขั้นตอนถัดไปก็คือการนำมันไปวางให้ถูกที่ถูกทางครับ ซึ่งที่ที่เราต้องนำมันไปวางนั้นก็คือ ในโฟลเดอร์ที่เก็บการตั้งค่าของเราในโปรแกรม NVDA นี่เอง โดยหากใครที่ลงส่วนเสริม userParams ไว้ ก็สามารถกดคีย์ลัดเพื่อไปยังโฟลเดอร์ดังกล่าวได้เลยทันที แต่ถ้าใครไม่ได้ลงไว้ก็มีวิธีไปยังโฟลเดอร์ดังกล่าวดังต่อไปนี้ครับ

  1. สำหรับคนที่ใช้ NVDA แบบพกพา (portable) ให้ไปที่โฟลเดอร์ที่คุณติดตั้งโปรแกรม NVDA ไว้ แล้วเข้าไปหาโฟลเดอร์ที่ชื่อ userConfig
  2. สำหรับคนที่ใช้ NVDA แบบติดตั้งตามปกติ (install) ก็ให้ไปที่ start menu > run แล้วพิมพ์ข้อความดังต่อไปนี้ลงไป %appdata%\NVDA\ แล้วกด enter

ถึงชื่อโฟลเดอร์จะต่างกัน แต่ถ้าทำตามอย่างถูกต้อง เราก็จะมาอยู่ในที่ที่ถูกต้องแล้วครับ จากนั้นก็ง่ายๆ คือวางไฟล์ symbols-en.dic ลงไปตรงนี้ ใช่แล้ววางมันง่ายๆ ตรงนี้นี่แหละ 55

แต่เดี๋ยวก่อน! หากใครกดวางไฟล์แล้ว เจอคำถามว่าจะวางทับไฟล์เก่าหรือไม่ ให้หยุดไว้ก่อนเลยนะครับ มิฉะนั้นคุณอาจงานเข้าได้...

ถ้าเจอคำถามว่าจะวางทับไฟล์เก่าหรือไม่ นั่นหมายความว่าคุณได้เคยตั้งค่าในส่วนของ Punctuation/symbol pronunciation ไว้แล้ว ซึ่งไฟล์บันทึกการตั้งค่าดังกล่าวก็จะถูก save ไว้เป็นไฟล์ชื่อเดียวกันนี้แหละครับ มันจึงถามเราว่าต้องการวางทับไฟล์เดิมหรือไม่ ถ้าหากท่านไม่สนใจค่าที่เคยตั้งไว้อาจจะตั้งใจหรือไม่ตั้งใจก็ตาม ก็ให้วางทับไปได้เลย แต่หากยังอยากจะเก็บค่าที่เคยตั้งไว้ (ขี้เกียจตั้งใหม่นั่นเอง) ก็ให้อ่านต่อไปเรื่อยๆ ครับ

เมื่อวางไฟล์ symbols-en.dic ลงไปแล้ว เพียงแค่เรา restart โปรแกรม NVDA 1 รอบ ก็จะใช้งานการอ่านตรงนี้ได้ทันทีครับ โดยสามารถพิสูจน์ได้จาก เข้าไปในการตั้งค่า Punctuation/symbol pronunciation แล้วเราจะพบว่า จากที่เคยมีสัญลักษณ์ให้ตั้งค่าเพียงไม่ถึงร้อยตัว แต่ตอนนี้ใน list นี้กลับมีสัญลักษณ์ 3,000 กว่าตัวเข้าไปแล้ว...

ป.ล. ผู้เขียนได้เพิ่มเติม การอ่าน emoticon ซึ่ง copy มาจากไฟล์ dictionary ในโปรแกรม Jaws ที่เอาไว้อ่าน emoticon ในโปรแกรม MSN เข้าไปด้วย อีกกว่า75 ตัว ดังนั้น นอกจากจะอ่าน emoji ได้แล้ว ก็แปลว่าใครที่ติดตั้งไฟล์ที่โหลดไปจากเว็บนี้ ก็จะสามารถอ่าน emoticon แถมไปด้วยในตัวอีกนั่นเอง :P

.............

กลับมาถึงกรณีของคนที่ต้องแก้ไข เนื่องจากมีการตั้งค่า Punctuation/symbol pronunciation ไว้ก่อนแล้ว วิธีก็ไม่ยากครับ เพียงแค่เปิดไฟล์ symbols-en.dic ที่มีอยู่แล้วนั้นขึ้นมา (กด enter เพื่อเปิด ระบบควรเปิดขึ้นมาให้ด้วยโปรแกรม notepad) จากนั้นให้ตัดบรรทัดแรกที่เป็นคำว่า symbols: ออกไป แล้ว select all เพื่อ copy ส่วนที่เหลือไว้ แล้วก็ปิดไฟล์นี้ได้เลย

จากนั้นก็ให้เปิดไฟล์ symbols-en.dic ที่โหลดไปใหม่ขึ้นมา แล้วไปที่ส่วนท้ายสุดของไฟล์ แล้วก็ให้ paste ข้อความที่ copy ไว้ในขั้นตอนก่อนหน้านี้ลงไป (ดูให้แน่ใจว่าไม่มีบรรทัดที่เว้นว่างที่เกิดจากการวางข้อมูลใหม่ลงมาด้วยนะครับ) แล้วก็ save ให้เรียบร้อย แล้วก็ปิดไฟล์นี้ไปได้

เมื่อตัดแต่งพันธุกรรม ไฟล์ symbols-en.dic กันเรียบร้อยแล้ว ก็ให้นำมันไปวางตามขั้นตอนปกติ ทีนี้จะทับไฟล์เก่าก็ไม่ต้องสนใจแล้วครับ เพราะเราได้นำข้อมูลของไฟล์เก่ามาใส่ไว้ในไฟล์ใหม่ด้วยเรียบร้อยแล้ว เมื่อวางเสร็จ restart โปรแกรม NVDA รอบนึง ทุกอย่างก็จะกลับมาใช้งานได้เหมือนเคยแล้วครับ (ยกเว้นความสามารถที่เพิ่มขึ้น)

เชื่อผมเหอะ แล้วต่อไปนี้ การอ่านสิ่งต่างๆ ด้วยโปรแกรม NVDA ของท่านจะเปลี่ยนไป เราจะได้ยินมันอ่านอะไรที่เราไม่เคยได้ยินมาก่อนเพิ่มขึ้นมาให้แปลกใจได้อีกมากมายเลยทีเดียว (ฮาาา)

ข้อมูลที่นำมาแนะนำในกระทู้นี้นำมาจาก https://jeff.tdrealms.com/index.php?page=NVDA ในหัวข้อ "How to make NVDA read Emoji" (อยู่ล่างสุด) ต้องขอขอบคุณไว้ ณ ที่นี้ ถึงแม้ว่าเราจะไม่ทราบนามผู้พัฒนาตัวจริงก็ตาม :d