សេចក្តីសង្ខេប
អក្សរខ្មែរត្រូវបានកំណត់ក្នុងស្តង់ដារ Uni...
តារាងមាតិកា
- 1 ហេតុអ្វីបានជាអក្សរខ្មែរបង្ហាញជា Tofu ឬ Boxes?
- 2 ប្រវត្តិសង្ខេប៖ ពីពុម្ពអក្សរចាស់ ដល់ Khmer Unicode
- 3 ប្រភេទបញ្ហាទូទៅ និងមូលហេតុ
- 4 របៀបដោះស្រាយ Tofu និង Boxes ជាជំហានៗ តាមឧបករណ៍
- 4.1 នៅលើ Windows
- 4.2 នៅលើ macOS
- 4.3 នៅលើ Android
- 4.4 នៅលើ iPhone និង iPad
- 5 បញ្ហាការតម្រៀបអក្សរ និងតួអក្សរមើលមិនឃើញ
- 6 ការបម្លែងពីពុម្ពអក្សរចាស់ ទៅ Unicode
- 7 ការទប់ស្កាត់បញ្ហា និងការអនុវត្តល្អ
- 8 សំណួរដែលគេសួរញឹកញាប់ (FAQ)
- 8.1 ហេតុអ្វីបានជាអក្សរខ្មែររបស់ខ្ញុំបង្ហាញជាប្រអប់ការ៉េ?
- 8.2 តើភាពខុសគ្នារវាងពុម្ពអក្សរ Unicode និងពុម្ពអក្សរចាស់ជាអ្វី?
- 8.3 តើខ្ញុំអាចបម្លែងឯកសារ Limon ទៅ Unicode ដោយរបៀបណា?
- 8.4 ហេតុអ្វីបានជាស្រៈខ្មែរបង្ហាញនៅខុសទីតាំង?
- 8.5 តើ Zero Width Space សំខាន់យ៉ាងដូចម្តេចសម្រាប់អក្សរខ្មែរ?
- 8.6 តើទូរស័ព្ទចាស់អាចបង្ហាញអក្សរខ្មែរបានដែរឬទេ?
- 9 ការប្រៀបធៀបពុម្ពអក្សរ Khmer Unicode ពេញនិយម
- 10 ការបង្កប់ពុម្ពអក្សរខ្មែរនៅលើគេហទំព័រ ដោយ @font-face និង Google Fonts
- 11 ភាពខុសគ្នានៃការបង្ហាញអក្សរខ្មែររវាង Android, iOS, និង Windows
- 12 តម្លៃ និងថ្លៃសេវាសម្រាប់ពុម្ពអក្សរ និងការបម្លែង
- 13 ករណីសិក្សា៖ ការជួសជុលគេហទំព័រអាជីវកម្មមួយ ដែលបង្ហាញ Tofu
- 14 ឧបករណ៍ធ្វើតេស្ត និងការវាស់វែងភាពត្រឹមត្រូវនៃអក្សរខ្មែរ
- 15 ការដោះស្រាយអក្សរខ្មែរខូចនៅក្នុងមូលដ្ឋានទិន្នន័យ និងកូដកម្មវិធី
- 16 ការដំឡើង និងវាយអក្សរខ្មែរ Unicode ឱ្យបានត្រឹមត្រូវលើគ្រប់ឧបករណ៍
- 17 អក្សរខ្មែរខូចពេលនាំចេញ PDF និងពេលបោះពុម្ព
- 18 ការប្រើអក្សរខ្មែរក្នុងកម្មវិធីរចនាក្រាហ្វិក Adobe និង Canva
- 19 ការបម្លែងឯកសារស្កេន និងរូបភាពទៅជាអក្សរខ្មែរ Unicode ដោយ OCR
- 20 ការដោះស្រាយអក្សរខ្មែរខូចក្នុងអក្សររត់វីដេអូ (Subtitles) និងបណ្ដាញសង្គម
- 21 ការធ្វើ SEO និងការ Index អក្សរខ្មែរ Unicode ដោយ Search Engine
- 22 ការដោះស្រាយអក្សរខ្មែរក្នុងការអភិវឌ្ឍកម្មវិធីទូរស័ព្ទ Flutter, React Native និង Native
- 23 Related Reading
- 24 ប្រភព
- 24.1 អានបន្ថែម
អក្សរខ្មែរត្រូវបានកំណត់ក្នុងស្តង់ដារ Unicode ចាប់តាំងពីឆ្នាំ១៩៩៩ (កំណែ Unicode 3.0) ដោយប្រើប្លុកលេខកូដចាប់ពី U+1780 ដល់ U+17FF ដែលផ្ទុកតួអក្សរសរុបចំនួន ១១៤ តួ តាមការកត់ត្រារបស់ Wikipedia (Khmer Unicode block)។ ទោះបីជាមានស្តង់ដារច្បាស់លាស់បែបនេះក្តី តែអ្នកប្រើប្រាស់កុំព្យូទ័រ និងទូរស័ព្ទនៅកម្ពុជានៅតែជួបប្រទះបញ្ហាអក្សរខ្មែរខូច ដែលបង្ហាញជាប្រអប់ការ៉េតូចៗ (ហៅថា Tofu ឬ Boxes) ឬជាសញ្ញាច្របូកច្របល់ដែលអានមិនបាន។ អត្ថបទនេះនឹងពន្យល់ពីមូលហេតុ និងបង្ហាញវិធីដោះស្រាយជាជំហានៗ សម្រាប់គ្រប់ឧបករណ៍។
បញ្ហានេះមិនមែនជារឿងថ្មីទេ ហើយវាក៏មិនមែនជាកំហុសរបស់អ្នកប្រើដែរ។ ភាគច្រើនវាកើតចេញពីការខ្វះពុម្ពអក្សរ (font) ដែលគាំទ្រខ្មែរ ការប្រើពុម្ពអក្សរបែបចាស់ដែលមិនមែន Unicode ឬប្រព័ន្ធបង្ហាញអក្សរ (rendering) ដែលមិនយល់ពីរបៀបតម្រៀបស្រៈ និងជើងអក្សរ។ នៅពេលអ្នកយល់ច្បាស់ពីប្រភពនៃបញ្ហា ការដោះស្រាយក្លាយជារឿងងាយស្រួល។
ហេតុអ្វីបានជាអក្សរខ្មែរបង្ហាញជា Tofu ឬ Boxes?
ពាក្យ Tofu សំដៅលើប្រអប់ការ៉េទទេ (□) ដែលប្រព័ន្ធបង្ហាញនៅពេលដែលពុម្ពអក្សរបច្ចុប្បន្នគ្មានរូបតួអក្សរ (glyph) សម្រាប់តួអក្សរនោះ។ ពេលកម្មវិធីចង់បង្ហាញតួអក្សរខ្មែរណាមួយ តែពុម្ពអក្សរដែលកំពុងប្រើគ្មានរូបភាពសម្រាប់តួនោះ វាបង្ហាញប្រអប់ការ៉េជំនួសវិញ។ នេះជាមូលហេតុដែលក្រុមហ៊ុន Google បានបង្កើតគម្រោងពុម្ពអក្សរ Noto ដែលឈ្មោះមានន័យថា No more Tofu។
មូលហេតុទីពីរទាក់ទងនឹងលក្ខណៈពិសេសនៃអក្សរខ្មែរ។ អក្សរខ្មែរជាប្រព័ន្ធសរសេរបែប abugida ដែលត្រូវការការតម្រៀបស្មុគស្មាញ៖ ស្រៈខ្លះសរសេរនៅខាងមុខ ខ្លះនៅខាងលើ ខ្លះនៅខាងក្រោម ហើយព្យញ្ជនៈអាចមានជើង (subscript) ត្រួតលើគ្នា។ បើប្រព័ន្ធបង្ហាញមិនគាំទ្រការតម្រៀបស្មុគស្មាញ (complex text rendering) ទេ តួអក្សរនឹងបែកខ្ញែក ឬតម្រៀបខុសលំដាប់។ តាមការពន្យល់នៅ Wikipedia (Khmer script) អក្សរខ្មែរមានព្យញ្ជនៈ ៣៣ តួ ហើយប្រើតួអក្សរពិសេសឈ្មោះ ជើង (Coeng, លេខកូដ U+17D2) ដើម្បីភ្ជាប់ព្យញ្ជនៈពីរឲ្យក្លាយជាជើង។
មូលហេតុទីបី គឺការប្រើប្រាស់ពុម្ពអក្សរបែបចាស់ដែលមិនមែន Unicode។ មុនពេល Unicode ត្រូវបានគេទទួលយកយ៉ាងទូលំទូលាយ ពុម្ពអក្សរដូចជា Limon, ABC និង Kh ជាដើម បានដាក់រូបអក្សរខ្មែរទៅលើតួអក្សរឡាតាំង (a, b, c)។ នៅពេលឯកសារបែបនេះត្រូវបើកនៅលើម៉ាស៊ីនដែលគ្មានពុម្ពអក្សរនោះ ឬនៅលើទូរស័ព្ទសម័យថ្មី អត្ថបទនឹងប្រែទៅជាអក្សរឡាតាំងច្របូកច្របល់ ឬជាសញ្ញាដែលអានមិនបាន។

ប្រវត្តិសង្ខេប៖ ពីពុម្ពអក្សរចាស់ ដល់ Khmer Unicode
ដើម្បីយល់ពីបញ្ហាបច្ចុប្បន្ន យើងគួរក្រឡេកមើលប្រវត្តិខ្លីៗ។ ក្នុងទសវត្សរ៍ឆ្នាំ១៩៩០ និងដើមឆ្នាំ២០០០ ការវាយអក្សរខ្មែរនៅលើកុំព្យូទ័រពឹងផ្អែកលើពុម្ពអក្សរឯកជនជាច្រើនប្រភេទ ដែលនីមួយៗមានរបៀបរៀបលេខកូដផ្ទាល់ខ្លួន។ ឯកសារដែលវាយដោយពុម្ពអក្សរមួយ មិនអាចបើកបានត្រឹមត្រូវនៅលើម៉ាស៊ីនដែលប្រើពុម្ពអក្សរផ្សេងនោះទេ។
ចំណុចរបត់សំខាន់កើតឡើងនៅពេលអក្សរខ្មែរត្រូវបានបញ្ចូលក្នុងស្តង់ដារ Unicode ជាផ្លូវការ។ ប្លុក Khmer (U+1780 ដល់ U+17FF) ត្រូវបានបន្ថែមក្នុងកំណែ Unicode 3.0 កាលពីខែកញ្ញា ឆ្នាំ១៩៩៩ ហើយក្រោយមកប្លុក Khmer Symbols (U+19E0 ដល់ U+19FF) ត្រូវបានបន្ថែមក្នុងកំណែ Unicode 4.0 ឆ្នាំ២០០៣ តាមការកត់ត្រារបស់ Unicode Consortium។ ការផ្តល់លេខកូដស្តង់ដារនេះមានន័យថា តួអក្សរខ្មែរនីមួយៗមានលេខអត្តសញ្ញាណតែមួយគត់នៅទូទាំងពិភពលោក។
ក្នុងរយៈពេលដូចគ្នានោះ គម្រោងពុម្ពអក្សរ Khmer OS ដែលជាពុម្ពអក្សរ Unicode ដោយឥតគិតថ្លៃ បានជួយឲ្យអ្នកប្រើទូទៅអាចវាយ និងបង្ហាញអក្សរខ្មែរបានត្រឹមត្រូវ។ ការអភិវឌ្ឍនេះបានកាត់បន្ថយការពឹងផ្អែកលើពុម្ពអក្សរចាស់បន្តិចម្តងៗ។ ទោះជាយ៉ាងណា ឯកសារចាស់រាប់លានសន្លឹកដែលវាយដោយ Limon នៅតែមានរហូតមកដល់សព្វថ្ងៃ ដែលជាហេតុធ្វើឲ្យបញ្ហាបម្លែងពុម្ពអក្សរនៅតែបន្តកើតមាន។ បើអ្នកចង់ស្វែងយល់បន្ថែមអំពីមូលដ្ឋានគ្រឹះ សូមអាន មគ្គុទេសក៍ Khmer Unicode និងពុម្ពអក្សរខ្មែរ របស់យើង។
ប្រភេទបញ្ហាទូទៅ និងមូលហេតុ
មុននឹងដោះស្រាយ យើងគួរសម្គាល់ឲ្យច្បាស់ថា បញ្ហាដែលយើងកំពុងជួប ជាបញ្ហាប្រភេទណា។ តារាងខាងក្រោមបង្ហាញពីរោគសញ្ញាទូទៅ មូលហេតុ និងទិសដៅដោះស្រាយ ដែលនឹងជួយឲ្យអ្នកកំណត់បានរហ័ស។
| រោគសញ្ញាដែលឃើញ | មូលហេតុដែលអាចកើតមាន | ទិសដៅដោះស្រាយ |
|---|---|---|
| ប្រអប់ការ៉េទទេ (□ □ □) | គ្មានពុម្ពអក្សរខ្មែរនៅលើឧបករណ៍ | ដំឡើងពុម្ពអក្សរ Khmer OS ឬ Noto Sans Khmer |
| អក្សរបែកខ្ញែក ស្រៈឆ្ងាយពីព្យញ្ជនៈ | ប្រព័ន្ធបង្ហាញមិនគាំទ្រការតម្រៀបស្មុគស្មាញ | ធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធប្រតិបត្តិការ ឬកម្មវិធី |
| អក្សរឡាតាំងច្របូកច្របល់ (k`O,r) | ឯកសារវាយដោយពុម្ពអក្សរចាស់ (Limon, ABC) | បម្លែងទៅ Unicode ដោយឧបករណ៍បម្លែង |
| ជើងអក្សរបាត់ ឬត្រួតលើគ្នាខុស | ខ្វះការគាំទ្រ Coeng (U+17D2) | ប្តូរពុម្ពអក្សរ ឬធ្វើបច្ចុប្បន្នភាព |
| ពាក្យជាប់គ្នាមិនកាត់បន្ទាត់ | ខ្វះតួអក្សរ Zero Width Space (U+200B) | បញ្ចូលដកឃ្លាមើលមិនឃើញនៅចន្លោះពាក្យ |
ការសម្គាល់រោគសញ្ញាបានត្រឹមត្រូវ ជួយសន្សំពេលវេលា។ ឧទាហរណ៍ បើអ្នកឃើញតែប្រអប់ការ៉េ វាជាបញ្ហាខ្វះពុម្ពអក្សរ។ ប៉ុន្តែបើអ្នកឃើញអក្សរខ្មែរពិតប្រាកដ តែតម្រៀបខុស នោះជាបញ្ហាប្រព័ន្ធបង្ហាញ មិនមែនបញ្ហាពុម្ពអក្សរទេ។
របៀបដោះស្រាយ Tofu និង Boxes ជាជំហានៗ តាមឧបករណ៍
ដំណោះស្រាយខុសគ្នាបន្តិចបន្តួចទៅតាមឧបករណ៍។ ខាងក្រោមនេះជាការណែនាំសម្រាប់ប្រព័ន្ធដែលគេប្រើច្រើនបំផុតនៅកម្ពុជា។
នៅលើ Windows
ដំបូង សូមធ្វើបច្ចុប្បន្នភាព Windows ឲ្យបានពេញលេញ ព្រោះកំណែថ្មីៗភ្ជាប់មកជាមួយការគាំទ្រអក្សរខ្មែររួចស្រេច។ បន្ទាប់មក ទាញយក និងដំឡើងពុម្ពអក្សរ Khmer OS ឬ Noto Sans Khmer ដោយចុចស្តាំលើឯកសារពុម្ពអក្សរ ហើយជ្រើស Install។ ក្រោយពេលដំឡើងរួច សូមបិទ ហើយបើកកម្មវិធីឡើងវិញ ដើម្បីឲ្យវាស្គាល់ពុម្ពអក្សរថ្មី។ ប្រសិនបើបញ្ហានៅតែកើតមានក្នុងកម្មវិធីណាមួយ សូមចូលទៅការកំណត់ពុម្ពអក្សររបស់កម្មវិធីនោះ ហើយជ្រើសពុម្ពអក្សរខ្មែរដោយផ្ទាល់។
នៅលើ macOS
ប្រព័ន្ធ macOS ភ្ជាប់មកជាមួយការគាំទ្រអក្សរខ្មែរយ៉ាងល្អ ដោយមានពុម្ពអក្សរ Khmer MN និង Khmer Sangam MN ស្រាប់។ បើអ្នកនៅតែឃើញប្រអប់ការ៉េ សូមបើកកម្មវិធី Font Book ដើម្បីផ្ទៀងផ្ទាត់ថា ពុម្ពអក្សរខ្មែរត្រូវបានបើកដំណើរការ មិនត្រូវបានបិទ។ ការធ្វើបច្ចុប្បន្នភាព macOS ទៅកំណែថ្មីបំផុត ក៏ជួយដោះស្រាយបញ្ហាការតម្រៀបអក្សរផងដែរ។
នៅលើ Android
ទូរស័ព្ទ Android សម័យថ្មីភាគច្រើនគាំទ្រអក្សរខ្មែរស្រាប់តាមរយៈពុម្ពអក្សរ Noto។ បើទូរស័ព្ទរបស់អ្នកនៅតែបង្ហាញ Tofu សូមធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធជាមុនសិន។ ចំពោះម៉ាកមួយចំនួនដូចជា Samsung និង Xiaomi អ្នកអាចចូលទៅ Settings បន្ទាប់មក Display ហើយរក Font ដើម្បីប្តូរទៅពុម្ពអក្សរដែលគាំទ្រខ្មែរ។ បើទូរស័ព្ទចាស់ពេក ហើយគ្មានជម្រើសប្តូរពុម្ពអក្សរ ការដំឡើងក្តារចុចខ្មែរដែលភ្ជាប់ពុម្ពអក្សរមកជាមួយអាចជួយបាន។
នៅលើ iPhone និង iPad
ឧបករណ៍ iOS គាំទ្រអក្សរខ្មែរបានយ៉ាងល្អតាំងពីកំណែចាស់មកម្ល៉េះ ដូច្នេះការធ្វើបច្ចុប្បន្នភាព iOS ជាដំណោះស្រាយចម្បង។ ការបន្ថែមក្តារចុចខ្មែរធ្វើនៅ Settings បន្ទាប់មក General បន្ទាប់មក Keyboard។ ដើម្បីដឹងពីដំណើរការដំឡើងលម្អិតគ្រប់ឧបករណ៍ សូមអាន មគ្គុទេសក៍ដំឡើង និងវាយអក្សរខ្មែរ ដែលយើងបានរៀបរៀងជាជំហានៗ។
បញ្ហាការតម្រៀបអក្សរ និងតួអក្សរមើលមិនឃើញ
មិនមែនគ្រប់បញ្ហាទាំងអស់សុទ្ធតែជា Tofu នោះទេ។ ប្រភេទបញ្ហាដ៏ឆ្គងមួយទៀតគឺ ការតម្រៀបអក្សរខុស ដែលអក្សរបង្ហាញ តែស្រៈ ឬជើងស្ថិតនៅខុសទីតាំង។ បញ្ហានេះកើតឡើងព្រោះអក្សរខ្មែរទាមទារការ reorder ខ្លះ ឧទាហរណ៍ ស្រៈ េ និង ែ សរសេរនៅខាងមុខព្យញ្ជនៈនៅពេលបង្ហាញ តែផ្ទុកក្រោយព្យញ្ជនៈនៅក្នុងលំដាប់ Unicode។ បើប្រព័ន្ធបង្ហាញមិនយល់ច្បាប់នេះ លទ្ធផលនឹងខុស។
តួអក្សរ Coeng (U+17D2) ជាគន្លឹះមួយទៀត។ វាជាតួអក្សរមើលមិនឃើញដែលប្រាប់ប្រព័ន្ធថា ព្យញ្ជនៈបន្ទាប់គួរក្លាយជាជើង។ ប្រសិនបើអ្នកវាយ Coeng ខុសលំដាប់ ឬពុម្ពអក្សរមិនគាំទ្រ លទ្ធផលនឹងបង្ហាញព្យញ្ជនៈពេញ ជំនួសឲ្យជើង។ ការវាយឲ្យបានត្រឹមត្រូវតាមលំដាប់ ព្យញ្ជនៈ បន្ទាប់មក Coeng បន្ទាប់មកព្យញ្ជនៈជើង ជារឿងសំខាន់ណាស់។
បញ្ហាការកាត់បន្ទាត់ក៏ជារឿងធ្លាប់ជួបដែរ។ ដោយសារភាសាខ្មែរមិនដាក់ដកឃ្លារវាងពាក្យនីមួយៗ ប្រព័ន្ធខ្លះមិនដឹងថាគួរកាត់បន្ទាត់ត្រង់ណា ដែលធ្វើឲ្យអក្សរហៀរចេញក្រៅអេក្រង់។ ដំណោះស្រាយគឺការប្រើតួអក្សរ Zero Width Space (U+200B) ដែលជាដកឃ្លាមើលមិនឃើញ ដាក់នៅចន្លោះពាក្យ ដើម្បីប្រាប់កន្លែងដែលអាចកាត់បន្ទាត់បាន។ លក្ខណៈពិសេសទាំងនេះ ត្រូវបានកំណត់ច្បាស់នៅក្នុង ឯកសារ Wikipedia ស្តីពីអក្សរខ្មែរ។
ការបម្លែងពីពុម្ពអក្សរចាស់ ទៅ Unicode
ឯកសារចាស់ដែលវាយដោយ Limon, ABC ឬ Kh នៅតែប្រើជាប្រចាំនៅតាមការិយាល័យ និងសាលារៀនមួយចំនួន។ ដើម្បីបម្លែងវាទៅ Unicode អ្នកអាចប្រើឧបករណ៍បម្លែង (converter) ដែលមានជាច្រើនលើអ៊ីនធឺណិត ឬកម្មវិធីបន្ថែមក្នុង Microsoft Word។ គន្លឹះសំខាន់គឺ ត្រូវដឹងថាឯកសារដើមវាយដោយពុម្ពអក្សរអ្វី ព្រោះឧបករណ៍បម្លែងនីមួយៗផ្គូផ្គងតែពុម្ពអក្សរជាក់លាក់ប៉ុណ្ណោះ។
| ប្រភេទពុម្ពអក្សរ | លក្ខណៈ | ស្ថានភាពបច្ចុប្បន្ន | ដំណោះស្រាយ |
|---|---|---|---|
| Limon / ABC (ចាស់) | ដាក់អក្សរខ្មែរលើតួឡាតាំង | មិនទាន់រលាយបាត់ ប្រើនៅឯកសារចាស់ | បម្លែងទៅ Unicode |
| Khmer OS (Unicode) | ពុម្ពអក្សរ Unicode ឥតគិតថ្លៃ | ប្រើទូលំទូលាយ | ប្រើជាស្តង់ដារ |
| Noto Sans Khmer | ពុម្ពអក្សរ Unicode ពី Google | ភ្ជាប់ក្នុង Android និងកម្មវិធីច្រើន | ប្រើសម្រាប់គេហទំព័រ និងកម្មវិធី |
| Khmer MN / Sangam MN | ពុម្ពអក្សរ Unicode លើ Apple | ភ្ជាប់ស្រាប់ក្នុង macOS និង iOS | ប្រើស្រាប់ |
ពេលបម្លែងរួច សូមតែងតែពិនិត្យមើលលទ្ធផលដោយប្រុងប្រយ័ត្ន ព្រោះការបម្លែងស្វ័យប្រវត្តិពេលខ្លះធ្វើឲ្យខុសត្រង់ស្រៈ ឬជើងអក្សរ។ ការផ្ទៀងផ្ទាត់ដោយដៃលើពាក្យសំខាន់ៗ ជួយធានាគុណភាព។ ការផ្លាស់ប្តូរទៅ Unicode ទាំងស្រុង ផ្តល់ផលប្រយោជន៍រយៈពេលវែង ព្រោះឯកសារនឹងបើកបានគ្រប់ឧបករណ៍ ដោយមិនពឹងលើពុម្ពអក្សរណាមួយជាក់លាក់។

ការទប់ស្កាត់បញ្ហា និងការអនុវត្តល្អ
វិធីល្អបំផុតក្នុងការដោះស្រាយបញ្ហា គឺការទប់ស្កាត់កុំឲ្យវាកើតឡើងតាំងពីដំបូង។ ការប្រកាន់ខ្ជាប់នូវការអនុវត្តល្អមួយចំនួន អាចកាត់បន្ថយបញ្ហាបានយ៉ាងច្រើន។
- ប្រើតែពុម្ពអក្សរ Unicode (Khmer OS ឬ Noto) សម្រាប់ឯកសារ និងគេហទំព័រថ្មីៗ។
- ធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធប្រតិបត្តិការ និងកម្មវិធីជាប្រចាំ ដើម្បីទទួលបានការគាំទ្រអក្សរថ្មីបំផុត។
- នៅពេលបង្កើតគេហទំព័រ សូមកំណត់ពុម្ពអក្សរខ្មែរច្បាស់លាស់ និងបញ្ចូល Zero Width Space ដើម្បីកាត់បន្ទាត់បានត្រឹមត្រូវ។
- រក្សាទុកឯកសារសំខាន់ៗជាទម្រង់ PDF នៅពេលត្រូវការឲ្យការបង្ហាញនៅដដែលគ្រប់ឧបករណ៍។
- ជៀសវាងការប្រើពុម្ពអក្សរចាស់សម្រាប់ការងារថ្មី ដើម្បីកុំបង្កើតបញ្ហាបន្ថែមនៅពេលអនាគត។
សម្រាប់អ្នកអភិវឌ្ឍគេហទំព័រ និងកម្មវិធី ការយកចិត្តទុកដាក់លើការ encode ឯកសារជា UTF-8 ជារឿងចាំបាច់។ ការប្រើ UTF-8 ធានាថា តួអក្សរខ្មែរត្រូវបានរក្សាទុក និងបញ្ជូនបានត្រឹមត្រូវរវាងម៉ាស៊ីនមេ និងកម្មវិធីរុករក។ ប្រធានបទនេះទាក់ទងយ៉ាងជិតស្និទ្ធនឹង ការប្រើ AI ជាមួយភាសាខ្មែរ ផងដែរ ព្រោះម៉ូដែល AI ត្រូវការទិន្នន័យអក្សរ Unicode ស្អាត ដើម្បីដំណើរការបានល្អ។
ការការពារទិន្នន័យ និងសុវត្ថិភាពក៏ជាផ្នែកមួយនៃការប្រើប្រាស់បច្ចេកវិទ្យាប្រកបដោយការទទួលខុសត្រូវ។ នៅពេលអ្នកទាញយកពុម្ពអក្សរ ឬឧបករណ៍បម្លែងពីប្រភពលើអ៊ីនធឺណិត សូមជ្រើសរើសប្រភពដែលអាចទុកចិត្តបាន ដើម្បីជៀសវាងកម្មវិធីព្យាបាទ។ អ្នកអាចស្វែងយល់បន្ថែមនៅ មគ្គុទេសក៍សុវត្ថិភាពអ៊ីនធឺណិត របស់យើង។
ការដោះស្រាយបញ្ហាអក្សរខ្មែរ ជាជំហានមួយនៃដំណើរឌីជីថលនីយកម្មកាន់តែទូលំទូលាយរបស់កម្ពុជា។ ការប្រើភាសាខ្មែរបានរលូននៅលើឧបករណ៍ឌីជីថល ជួយលើកកម្ពស់ការទំនាក់ទំនង ការអប់រំ និងពាណិជ្ជកម្ម។ ដើម្បីមើលរូបភាពធំទូលាយ សូមអានអត្ថបទមេ បច្ចេកវិទ្យា និងការច្នៃប្រឌិតឌីជីថលនៅកម្ពុជា។
សំណួរដែលគេសួរញឹកញាប់ (FAQ)
ហេតុអ្វីបានជាអក្សរខ្មែររបស់ខ្ញុំបង្ហាញជាប្រអប់ការ៉េ?
ប្រអប់ការ៉េ ឬ Tofu បង្ហាញនៅពេលឧបករណ៍របស់អ្នកគ្មានពុម្ពអក្សរដែលផ្ទុករូបតួអក្សរខ្មែរ។ ពេលប្រព័ន្ធចង់បង្ហាញតួអក្សរ តែរកមិនឃើញរូបភាពនៅក្នុងពុម្ពអក្សរបច្ចុប្បន្ន វាបង្ហាញប្រអប់ទទេជំនួស។ ដំណោះស្រាយសាមញ្ញគឺ ការដំឡើងពុម្ពអក្សរ Unicode ដែលគាំទ្រខ្មែរ ដូចជា Khmer OS ឬ Noto Sans Khmer រួចបិទបើកកម្មវិធីឡើងវិញ។ បើបញ្ហានៅតែបន្ត សូមធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធប្រតិបត្តិការឲ្យបានពេញលេញ ព្រោះកំណែថ្មីៗភ្ជាប់ការគាំទ្រអក្សរខ្មែរមកស្រាប់។
តើភាពខុសគ្នារវាងពុម្ពអក្សរ Unicode និងពុម្ពអក្សរចាស់ជាអ្វី?
ពុម្ពអក្សរ Unicode ដូចជា Khmer OS ប្រើលេខកូដស្តង់ដារអន្តរជាតិ (U+1780 ដល់ U+17FF) សម្រាប់តួអក្សរខ្មែរ ដែលមានន័យថា អក្សរបង្ហាញត្រឹមត្រូវនៅគ្រប់ឧបករណ៍ដែលគាំទ្រ Unicode។ ផ្ទុយទៅវិញ ពុម្ពអក្សរចាស់ដូចជា Limon ដាក់រូបអក្សរខ្មែរលើតួអក្សរឡាតាំង ដែលធ្វើឲ្យឯកសារអានបានតែលើម៉ាស៊ីនដែលមានពុម្ពអក្សរនោះប៉ុណ្ណោះ។ Unicode ជាស្តង់ដារទំនើប ហើយគេលើកទឹកចិត្តឲ្យប្រើសម្រាប់ការងារថ្មីៗទាំងអស់ ដើម្បីភាពឆបគ្នាប្រកបដោយនិរន្តរភាព។
តើខ្ញុំអាចបម្លែងឯកសារ Limon ទៅ Unicode ដោយរបៀបណា?
អ្នកអាចបម្លែងឯកសារ Limon ទៅ Unicode ដោយប្រើឧបករណ៍បម្លែង (converter) ដែលមានលើអ៊ីនធឺណិត ឬកម្មវិធីបន្ថែមក្នុង Microsoft Word។ ជំហានទីមួយគឺកំណត់ឲ្យច្បាស់ថាឯកសារដើមវាយដោយពុម្ពអក្សរអ្វី ព្រោះឧបករណ៍បម្លែងនីមួយៗផ្គូផ្គងតែពុម្ពអក្សរជាក់លាក់។ បន្ទាប់ពីបម្លែងរួច សូមពិនិត្យលទ្ធផលដោយប្រុងប្រយ័ត្នជាពិសេសត្រង់ស្រៈ និងជើងអក្សរ ព្រោះការបម្លែងស្វ័យប្រវត្តិពេលខ្លះធ្វើឲ្យខុស។ ការផ្ទៀងផ្ទាត់ដោយដៃលើពាក្យសំខាន់ៗ ជួយធានាគុណភាពឯកសារចុងក្រោយ។
ហេតុអ្វីបានជាស្រៈខ្មែរបង្ហាញនៅខុសទីតាំង?
បញ្ហានេះកើតឡើងព្រោះប្រព័ន្ធបង្ហាញមិនគាំទ្រការតម្រៀបអក្សរស្មុគស្មាញ (complex text rendering)។ អក្សរខ្មែរត្រូវការការរៀបចំពិសេស ដោយស្រៈខ្លះដូចជា េ និង ែ សរសេរនៅខាងមុខព្យញ្ជនៈពេលបង្ហាញ តែផ្ទុកក្រោយព្យញ្ជនៈក្នុងលំដាប់ Unicode។ បើកម្មវិធី ឬប្រព័ន្ធប្រតិបត្តិការចាស់ពេក វាមិនយល់ច្បាប់នេះ ហើយបង្ហាញខុសលំដាប់។ ដំណោះស្រាយល្អបំផុតគឺការធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធ និងកម្មវិធីទៅកំណែថ្មីបំផុត ដែលភ្ជាប់ប្រព័ន្ធបង្ហាញអក្សរខ្មែរប្រសើរជាងមុន។
តើ Zero Width Space សំខាន់យ៉ាងដូចម្តេចសម្រាប់អក្សរខ្មែរ?
Zero Width Space (លេខកូដ U+200B) ជាតួអក្សរមើលមិនឃើញដែលដើរតួជាដកឃ្លាសម្រាប់កាត់បន្ទាត់។ ដោយសារភាសាខ្មែរមិនដាក់ដកឃ្លារវាងពាក្យនីមួយៗ ប្រព័ន្ធខ្លះមិនដឹងថាគួរកាត់បន្ទាត់ត្រង់ណា ដែលធ្វើឲ្យអក្សរហៀរចេញក្រៅអេក្រង់ ឬកាត់ពាក្យខុស។ ការបញ្ចូល Zero Width Space នៅចន្លោះពាក្យ ប្រាប់ប្រព័ន្ធពីកន្លែងដែលអាចកាត់បន្ទាត់បានត្រឹមត្រូវ។ លក្ខណៈនេះមានសារៈសំខាន់ជាពិសេសសម្រាប់គេហទំព័រ និងកម្មវិធីដែលបង្ហាញអត្ថបទខ្មែរវែងៗ។
តើទូរស័ព្ទចាស់អាចបង្ហាញអក្សរខ្មែរបានដែរឬទេ?
ទូរស័ព្ទចាស់មួយចំនួនអាចបង្ហាញអក្សរខ្មែរបាន ប៉ុន្តែការគាំទ្រអាស្រ័យលើកំណែប្រព័ន្ធប្រតិបត្តិការ។ ឧបករណ៍ Android និង iOS សម័យថ្មីគាំទ្រអក្សរខ្មែរបានល្អស្រាប់តាមរយៈពុម្ពអក្សរ Noto។ បើទូរស័ព្ទចាស់ពេក ហើយមិនអាចធ្វើបច្ចុប្បន្នភាពបាន ការដំឡើងក្តារចុចខ្មែរដែលភ្ជាប់ពុម្ពអក្សរមកជាមួយ អាចជួយដោះស្រាយបានខ្លះ។ ទោះយ៉ាងណា សម្រាប់បទពិសោធល្អបំផុត ការប្រើឧបករណ៍ដែលទទួលបានការធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធនៅតែជាជម្រើសដែលគួរពិចារណា។
ការប្រៀបធៀបពុម្ពអក្សរ Khmer Unicode ពេញនិយម
ការជ្រើសរើសពុម្ពអក្សរ Khmer Unicode ត្រឹមត្រូវ គឺជាជំហានសំខាន់ដើម្បីកុំឱ្យអក្សរបង្ហាញជា Tofu។ ពុម្ពអក្សរនីមួយៗមានភាពខុសគ្នាខាងគុណភាពនៃ rendering ការគ្របដណ្តប់តួអក្សរ (glyph coverage) និងលក្ខខណ្ឌអាជ្ញាប័ណ្ណ។ យោងតាម Google Noto Project (ឆ្នាំ 2024) ពុម្ព Noto Sans Khmer គ្របដណ្តប់ប្លុក Unicode ខ្មែរទាំងមូល U+1780 ដល់ U+17FF ព្រមទាំងតួអក្សរបន្ថែម Khmer Symbols ផងដែរ ដែលធ្វើឱ្យវាក្លាយជាជម្រើសល្អបំផុតសម្រាប់ការប្រើជាសកល។
| ពុម្ពអក្សរ | អ្នកបង្កើត | អាជ្ញាប័ណ្ណ | ការប្រើប្រាស់ល្អបំផុត |
|---|---|---|---|
| Noto Sans Khmer | Google និង Monotype | SIL Open Font License (ឥតគិតថ្លៃ) | គេហទំព័រ និងកម្មវិធីពហុវេទិកា |
| Hanuman | Danh Hong | SIL OFL (ឥតគិតថ្លៃ) | ឯកសារ និងការបោះពុម្ព |
| Khmer OS Battambang | Open Forum of Cambodia (KhmerOS) | SIL OFL (ឥតគិតថ្លៃ) | ប្រព័ន្ធប្រតិបត្តិការ និងការអាន |
| Kantumruy Pro | Danh Hong | SIL OFL (ឥតគិតថ្លៃ) | UI ទំនើប និងអេក្រង់តូច |
| Moul | Danh Hong | SIL OFL (ឥតគិតថ្លៃ) | ចំណងជើង និងផ្ទាំងធំ |
ចំណុចសំខាន់ត្រូវចំណាំ៖ ពុម្ពអក្សរដែលមានអាជ្ញាប័ណ្ណ SIL Open Font License អនុញ្ញាតឱ្យបង្កប់ (embed) ក្នុងគេហទំព័រ និងកម្មវិធីដោយឥតគិតថ្លៃ បើទោះជាប្រើសម្រាប់ពាណិជ្ជកម្មក៏ដោយ។ បើអ្នកគ្រាន់តែប្រើ Khmer OS ស៊េរីចាស់ ដែលចេញផ្សាយតាំងពីឆ្នាំ 2005 ដោយ Open Forum of Cambodia អ្នកគួរបន្ថែម Noto Sans Khmer ជា fallback ព្រោះ Khmer OS ខ្លះមិនបានធ្វើបច្ចុប្បន្នភាពតាមតារាង Unicode ថ្មីៗ បណ្តាលឱ្យតួអក្សរថ្មីបង្ហាញខូច។ សម្រាប់អក្សរនៅលើទូរស័ព្ទដែលមានអេក្រង់តូច Kantumruy Pro ត្រូវបានរចនាមានគម្លាតបន្ទាត់ធំ ងាយស្រួលអាន ជាងពុម្ពបែបបុរាណ។
ការបង្កប់ពុម្ពអក្សរខ្មែរនៅលើគេហទំព័រ ដោយ @font-face និង Google Fonts
មូលហេតុចម្បងមួយដែលគេហទំព័របង្ហាញអក្សរខ្មែរជា Tofu គឺម៉ាស៊ីនអ្នកប្រើមិនមានពុម្ពអក្សរខ្មែរដំឡើងក្នុងឧបករណ៍។ ដំណោះស្រាយត្រឹមត្រូវគឺបង្កប់ web font ដោយផ្ទាល់។ វិធីងាយស្រួលបំផុតគឺប្រើ Google Fonts ដែលផ្ដល់ Noto Sans Khmer ដោយឥតគិតថ្លៃ៖ បន្ថែម link ទៅ fonts.googleapis.com ក្នុង head រួចកំណត់ font-family ក្នុង CSS។
សម្រាប់អ្នកដែលចង់គ្រប់គ្រងពេញលេញ វិធី @font-face ផ្តល់លទ្ធផលល្អជាង។ ជំហានសំខាន់៖
- ប្រើទម្រង់ WOFF2 ដែលតូចជាង TTF ប្រមាណ 30 ភាគរយ យោងតាមឯកសារ MDN Web Docs (2024) ធ្វើឱ្យទំព័រផ្ទុកលឿន។
- ដាក់
font-display: swapដើម្បីឱ្យអក្សរបង្ហាញភ្លាមដោយប្រើ fallback ខណៈពេលពុម្ពកំពុងផ្ទុក កុំឱ្យអ្នកប្រើឃើញទំព័រទទេ។ - ប្រើ subsetting តាមប៉ារ៉ាម៉ែត្រ
&subset=khmerឬ pyftsubset ពី fontTools ដើម្បីកាត់បន្ថយទំហំ file ត្រឹមតួអក្សរខ្មែរ ដែលអាចសន្សំទំហំ file ច្រើនជាងពាក់កណ្តាល។ - ប្រើ
<link rel="preload">សម្រាប់ពុម្ពអក្សរសំខាន់ ដើម្បីបញ្ជូនវាមុនគេ។
ចំណុចបច្ចេកទេសដ៏សំខាន់សម្រាប់ភាសាខ្មែរ៖ ត្រូវប្រាកដថា server បញ្ជូន header Content-Type: text/html; charset=UTF-8 ហើយ HTML មាន <meta charset="UTF-8">។ បើ charset ខុស ឧទាហរណ៍ Windows-1252 នោះ browser នឹងបកស្រាយ byte ខ្មែរខុស ហើយ web font ក៏មិនអាចជួយបានទេ។ ជាចុងក្រោយ កំណត់ lang="km" លើ tag html ដើម្បីឱ្យ browser ប្រើ shaping engine ត្រឹមត្រូវសម្រាប់ការផ្សំស្រៈ និងជើងអក្សរ ដែលជាបញ្ហារ rendering ញឹកញាប់នៃខ្មែរ។ ការផ្សំ technique ទាំងនេះធានាបាន 99 ភាគរយនៃករណី Tofu លើ web ត្រូវបានដោះស្រាយ។
ភាពខុសគ្នានៃការបង្ហាញអក្សរខ្មែររវាង Android, iOS, និង Windows
បញ្ហា Tofu មិនកើតឡើងដូចគ្នាលើគ្រប់ប្រព័ន្ធទេ ព្រោះប្រព័ន្ធនីមួយៗភ្ជាប់មកជាមួយពុម្ពអក្សរខ្មែរ និង shaping engine ខុសគ្នា។ ការយល់ដឹងពីភាពខុសគ្នានេះមានសារៈសំខាន់ ព្រោះយោងតាម StatCounter GlobalStats (ខែមេសា 2026) ប្រព័ន្ធ Android កាន់កាប់ប្រមាណ 56 ភាគរយនៃទីផ្សារទូរស័ព្ទនៅកម្ពុជា ខណៈ iOS កាន់កាប់ប្រមាណ 43 ភាគរយ ដែលមានន័យថាអ្នកអភិវឌ្ឍន៍ត្រូវធ្វើតេស្តលើទាំងពីរ។
- Android៖ ចាប់ពី Android 4.4 (KitKat ឆ្នាំ 2013) ភ្ជាប់មកជាមួយ Noto Sans Khmer ហើយប្រើ HarfBuzz ជា shaping engine។ ជំនាន់ចាស់ជាងនេះ ដែលនៅមានប្រើតិចតួចតាម StatCounter មិនមានពុម្ពខ្មែរ ធ្វើឱ្យកើត Tofu។
- iOS៖ Apple ភ្ជាប់ពុម្ព Khmer Sangam MN និងប្រើ CoreText។ វាបង្ហាញខ្មែរបានល្អ ប៉ុន្តែ rendering ជើងអក្សរខុសបន្តិចបន្តួចពី Android ដោយសារ engine ខុសគ្នា។
- Windows៖ Windows ភ្ជាប់ Leelawadee UI ដែលគ្របដណ្តប់ខ្មែរ ប៉ុន្តែ Microsoft បានបន្ថែម rendering ខ្មែរពេញលេញចាប់ពី Windows 8 (ឆ្នាំ 2012)។ ឯកសារដែលបង្កើតលើ Windows XP តែងបង្ហាញ Tofu។
ផលវិបាកជាក់ស្តែងគឺ៖ ឯកសារ ឬគេហទំព័រដែលអ្នកបង្កើតលើ macOS អាចមើលឃើញល្អនៅលើ iPhone របស់អ្នក ប៉ុន្តែបង្ហាញ Tofu លើទូរស័ព្ទ Android ចាស់របស់អ្នកប្រើភាគច្រើននៅកម្ពុជា។ ដូច្នេះ កុំទុកចិត្តតែលើឧបករណ៍មួយ។ ដំណោះស្រាយដ៏រឹងមាំគឺការបង្កប់ web font (ដូចបានរៀបរាប់ខាងលើ) ដែលធ្វើឱ្យគ្រប់ឧបករណ៍ប្រើពុម្ពតែមួយ ដោយមិនពឹងផ្អែកលើពុម្ពដែលភ្ជាប់មកជាមួយប្រព័ន្ធ។ សម្រាប់ឯកសារ PDF ត្រូវ embed ពុម្ពអក្សរ ដោយប្រើជម្រើស “Embed fonts” ដើម្បីកុំឱ្យ Tofu លេចឡើងនៅពេលបើកលើម៉ាស៊ីនផ្សេង។
តម្លៃ និងថ្លៃសេវាសម្រាប់ពុម្ពអក្សរ និងការបម្លែង
មនុស្សជាច្រើនយល់ច្រឡំថាការដោះស្រាយបញ្ហាអក្សរខ្មែរត្រូវចំណាយលុយច្រើន។ តាមពិត ឧបករណ៍គុណភាពខ្ពស់ភាគច្រើនឥតគិតថ្លៃ។ ខាងក្រោមនេះជាការប្រៀបធៀបថ្លៃជាក់ស្តែង។
| ធនធាន/សេវា | តម្លៃ | ចំណាំ |
|---|---|---|
| Google Fonts (Noto Sans Khmer) | ឥតគិតថ្លៃ | SIL OFL ប្រើបានទាំងពាណិជ្ជកម្ម |
| KhmerConverter (Open Forum of Cambodia) | ឥតគិតថ្លៃ | បម្លែង Limon ទៅ Unicode |
| fontTools / pyftsubset | ឥតគិតថ្លៃ (open source) | សម្រាប់ subsetting |
| Adobe Fonts (តាម Creative Cloud) | ប្រមាណ 22.99 ដុល្លារ/ខែ (Adobe 2026) | មានពុម្ពខ្មែរមួយចំនួន |
| ពុម្ពអក្សរខ្មែរពាណិជ្ជកម្មពីអ្នករចនាឯករាជ្យ | ប្រមាណ 20 ដល់ 150 ដុល្លារ/ពុម្ព | អាស្រ័យលើអាជ្ញាប័ណ្ណ |
សម្រាប់ការ host web font ដោយខ្លួនឯង តម្លៃគឺស្ទើរតែសូន្យ ព្រោះ file WOFF2 នៃ Noto Sans Khmer បន្ទាប់ពី subsetting មានទំហំតែប្រមាណ 40 ដល់ 80 គីឡូបៃ ដែលមិនបង្កើនថ្លៃ bandwidth គួរឱ្យកត់សម្គាល់ឡើយ។ បើប្រើ CDN ដូចជា jsDelivr ឬ Cloudflare ការបញ្ជូនពុម្ពនេះក៏ឥតគិតថ្លៃសម្រាប់ traffic ធម្មតា។
ការចំណាយពិតប្រាកដ ជាញឹកញាប់គឺ “ពេលវេលា” មិនមែនលុយទេ។ ការបម្លែងឯកសារធំៗ ដែលសរសេរដោយពុម្ពចាស់ Limon ឬ ABC ទៅ Unicode អាចត្រូវការការកែសម្រួលដោយដៃ ព្រោះការតម្រៀបស្រៈ និងជើងអក្សរខុសគ្នា។ ក្រុមហ៊ុនមួយចំនួននៅភ្នំពេញផ្តល់សេវាបម្លែងឯកសារ ដោយគិតថ្លៃតាមចំនួនទំព័រ ប៉ុន្តែសម្រាប់ឯកសារតិចជាង 50 ទំព័រ ការប្រើ KhmerConverter ឥតគិតថ្លៃ រួមផ្សំការត្រួតពិនិត្យដោយដៃ គឺសន្សំសំចៃ និងគ្រប់គ្រាន់ហើយ។
ករណីសិក្សា៖ ការជួសជុលគេហទំព័រអាជីវកម្មមួយ ដែលបង្ហាញ Tofu
ដើម្បីបង្ហាញពីដំណើរការដោះស្រាយជាក់ស្តែង សូមពិចារណាករណីសិក្សានៃគេហទំព័រលក់ទំនិញតាមអនឡាញមួយ (ឧទាហរណ៍ធម្មតា)។ ម្ចាស់រាយការណ៍ថា ឈ្មោះផលិតផលជាភាសាខ្មែរបង្ហាញជាប្រអប់ទទេ (Boxes) លើទូរស័ព្ទ Android របស់អតិថិជន ខណៈវាមើលឃើញធម្មតាលើ MacBook របស់គាត់។
ជំហានវិភាគ និងដោះស្រាយ៖
- ការវិនិច្ឆ័យ៖ បើក Chrome DevTools ផ្ទាំង Network ឃើញថាគ្មាន web font ខ្មែរត្រូវបានផ្ទុក។ ផ្ទាំង Elements បង្ហាញ
font-family: Arialដែលគ្មានតួអក្សរខ្មែរ។ ដូច្នេះ browser ពឹងលើពុម្ពប្រព័ន្ធ ហើយ Android ចាស់គ្មានពុម្ពនោះ។ - ការផ្ទៀងផ្ទាត់ Encoding៖ ពិនិត្យ
<meta charset>ឃើញថាជា UTF-8 ត្រឹមត្រូវ ដូច្នេះបញ្ហាមិនមែននៅ encoding ទេ តែនៅ font។ - ការដោះស្រាយ៖ បន្ថែម Noto Sans Khmer ពី Google Fonts ហើយកែ CSS ទៅ
font-family: "Noto Sans Khmer", Arial, sans-serif;ព្រមទាំងដាក់lang="km"លើ tag html។ - ការ Optimize៖ ប្រើ subset=khmer និង font-display: swap ដើម្បីកុំឱ្យទំព័រផ្ទុកយឺត។
លទ្ធផល៖ បន្ទាប់ពីការ deploy អក្សរខ្មែរបង្ហាញត្រឹមត្រូវលើ Android, iOS និង Windows ទាំងអស់។ ការវាស់វែងដោយ Google PageSpeed Insights បង្ហាញថា ការបន្ថែម web font ដែលបាន subset ធ្វើឱ្យ Largest Contentful Paint កើនឡើងតែប្រមាណ 0.1 វិនាទីប៉ុណ្ណោះ ដែលជាការដោះដូរសមរម្យបើធៀបនឹងការដោះស្រាយបញ្ហាដែលធ្វើឱ្យអតិថិជនមើលផលិតផលមិនឃើញ។ មេរៀនសំខាន់ពីករណីនេះ៖ Tofu លើ web ស្ទើរតែតែងតែជាបញ្ហា font មិនមែន encoding ហើយការបង្កប់ web font គឺជាដំណោះស្រាយដែលគ្រប់គ្រាន់បំផុត។
ឧបករណ៍ធ្វើតេស្ត និងការវាស់វែងភាពត្រឹមត្រូវនៃអក្សរខ្មែរ
ការដោះស្រាយបញ្ហាមួយ មិនមានន័យថាការងារចប់ទេ។ អ្នកត្រូវធ្វើតេស្ត និងវាស់វែងជាប្រព័ន្ធ ដើម្បីប្រាកដថា អក្សរខ្មែរបង្ហាញត្រឹមត្រូវលើគ្រប់បរិបទ។ ខាងក្រោមនេះជាឧបករណ៍ជាក់ស្តែង និងវិធីប្រើ។
- BabelMap និង Unicode Inspector៖ ឧបករណ៍ទាំងនេះបង្ហាញ code point ច្បាស់លាស់នៃតួអក្សរនីមួយៗ។ វាមានប្រយោជន៍ដើម្បីរកតួអក្សរមើលមិនឃើញ ឬ Zero Width Space (U+200B) ដែលលាក់ក្នុងអត្ថបទ។
- Chrome DevTools (ផ្ទាំង Rendering)៖ ប្រើ “Computed” tab ដើម្បីមើលថា browser ពិតជាប្រើពុម្ពអក្សរណាមួយ (rendered font) មិនមែនត្រឹមអ្វីដែលអ្នកសរសេរក្នុង CSS ឡើយ។
- BrowserStack ឬ LambdaTest៖ សេវាធ្វើតេស្តលើឧបករណ៍ពិតប្រាកដច្រើនប្រភេទ ដែលអនុញ្ញាតឱ្យអ្នកមើលគេហទំព័រលើ Android, iOS និងកំណែ browser ផ្សេងៗ ដោយមិនចាំបាច់មានឧបករណ៍ទាំងនោះក្នុងដៃ។
- Aksharamukha៖ ឧបករណ៍បម្លែង និងផ្ទៀងផ្ទាត់អក្សរ ដែលអាចជួយត្រួតពិនិត្យការតម្រៀបស្រៈ និងជើងអក្សរ។
ម៉ែត្រិកសំខាន់ៗដែលត្រូវវាស់៖ ទីមួយ “font load time” ដែលអ្នកអាចមើលក្នុង Network tab ឬ Google PageSpeed Insights ដោយ web font ដែលបាន subset គួរផ្ទុកក្រោម 100 មិល្លីវិនាទីលើ connection ល្បឿនមធ្យម។ ទីពីរ “Cumulative Layout Shift” (CLS) ដែលជាសូចនាករ Core Web Vitals របស់ Google ព្រោះការប្តូរពុម្ពពេលផ្ទុក (FOUT) អាចធ្វើឱ្យ layout រើ បើគ្មាន font-display និង fallback ត្រឹមត្រូវ។ Google កំណត់ថា CLS ល្អត្រូវក្រោម 0.1 (Google web.dev 2024)។
វិធីសាស្ត្រធ្វើតេស្តដ៏មានប្រសិទ្ធភាពមួយ គឺបង្កើត “test string” ដែលមានតួអក្សរខ្មែរស្មុគស្មាញ ដូចជា ពាក្យដែលមានជើងពីរ (ឧ. ស្ត្រី) ស្រៈផ្សំ និងលេខខ្មែរ ០ ដល់ ៩។ ប្រសិនបើ test string នេះបង្ហាញត្រឹមត្រូវគ្រប់កន្លែង នោះអ្នកអាចមានទំនុកចិត្តថា ការ rendering ខ្មែរដំណើរការល្អ។
ការដោះស្រាយអក្សរខ្មែរខូចនៅក្នុងមូលដ្ឋានទិន្នន័យ និងកូដកម្មវិធី
បញ្ហាអក្សរខ្មែរប្រែទៅជាសញ្ញាសួរ (?), ឬតួអក្សរបាត់បង់ មិនកើតឡើងតែនៅលើផ្ទៃអេក្រង់ទេ ប៉ុន្តែជារឿយៗវាចាប់ផ្ដើមនៅកម្រិតមូលដ្ឋានទិន្នន័យ។ កំហុសធម្មតាបំផុតគឺការប្រើ character set ឈ្មោះ “utf8” នៅក្នុង MySQL ដែលផ្ទុកបានត្រឹម ៣ បៃក្នុងមួយតួអក្សរ ហើយក្នុងករណីខ្លះធ្វើឱ្យអក្សរផ្សំ (combining characters) ខ្មែរខូច។ យោងតាមឯកសារផ្លូវការ Oracle MySQL Documentation 2024 ដំណោះស្រាយត្រឹមត្រូវគឺប្រើ “utf8mb4” ដែលគាំទ្រ ៤ បៃពេញលេញ។
ជំហានជាក់ស្ដែងសម្រាប់អ្នកអភិវឌ្ឍន៍មាន៖ ទីមួយ កំណត់តារាងជា CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci។ ទីពីរ បន្ទាប់ពីបើកការតភ្ជាប់ ត្រូវប្រកាស SET NAMES utf8mb4 ភ្លាមៗ មុនពេលសរសេរ ឬអានទិន្នន័យ ព្រោះ default charset របស់ client ច្រើនតែជា latin1។ ទីបី នៅក្នុង PHP ត្រូវកំណត់ $pdo->exec("SET NAMES utf8mb4") ឬ mysqli_set_charset($conn, "utf8mb4")។ ចំពោះ Python វិញ ត្រូវបើកឯកសារដោយ open(file, encoding="utf-8") ជានិច្ច ដ្បិត Windows ប្រើ cp1252 ជា default។
បញ្ហាមួយទៀតដែលអ្នកសរសេរកូដច្រើនមើលរំលងគឺ ការតម្រៀប (sorting)។ ការតម្រៀបតាមលំដាប់បៃ (byte order) នឹងផ្ដល់លទ្ធផលខុសព្រោះវាមិនគោរពតាមលំដាប់ព្យញ្ជនៈ-ស្រៈ-ជើង ខ្មែរទេ។ Unicode Consortium (CLDR 2024) បានផ្ដល់ Collation rules សម្រាប់ភាសាខ្មែរ ដែលអ្នកអាចហៅប្រើតាមរយៈ library ICU។ នៅក្នុង JavaScript សូមប្រើ new Intl.Collator("km").compare(a, b) ហើយនៅ Python ប្រើ PyICU។ ការតេស្តសាមញ្ញគឺ បញ្ចូលពាក្យ “ករ”, “កា”, “កុ” ទៅក្នុង database រួចទាញចេញ ប្រសិនបើលំដាប់មិនត្រឹមត្រូវ នោះមានន័យថា collation មិនទាន់បានកំណត់។ ការប្រើ utf8mb4_unicode_ci ជំនួស utf8mb4_general_ci ផ្ដល់ភាពត្រឹមត្រូវខ្ពស់ជាងសម្រាប់អក្សរផ្សំ។ ជាចុងក្រោយ ត្រូវកំណត់ HTTP header ជា Content-Type: text/html; charset=UTF-8 ដើម្បីឱ្យ browser បកស្រាយត្រឹមត្រូវ។
ការដំឡើង និងវាយអក្សរខ្មែរ Unicode ឱ្យបានត្រឹមត្រូវលើគ្រប់ឧបករណ៍
មុនពេលដោះស្រាយបញ្ហាបង្ហាញ ការវាយអក្សរឱ្យត្រូវលំដាប់ជាមូលដ្ឋានសំខាន់បំផុត ព្រោះការវាយជើង (subscript) ខុសលំដាប់ នឹងបង្កើតតួអក្សរមើលមិនឃើញ ឬ tofu ទោះបីពុម្ពអក្សរល្អក៏ដោយ។ ខាងក្រោមនេះជារបៀបបើកក្ដារចុចខ្មែរ Unicode តាមប្រព័ន្ធនីមួយៗ។
- Windows 10/11៖ ចូល Settings ច Time & Language ច Language & Region ច Add a language ច រើស “ខ្មែរ (Khmer)” រួចដំឡើង។ ប្ដូរក្ដារចុចដោយចុច Windows + Space។
- macOS៖ System Settings ច Keyboard ច Input Sources ច ចុច + រួចបន្ថែម Khmer។ ប្ដូរដោយ Control + Space។
- Android៖ Gboard របស់ Google គាំទ្រភាសាខ្មែរ។ ចូល Settings ច Languages ច Add keyboard ច Khmer។
- iOS/iPhone៖ Settings ច General ច Keyboard ច Keyboards ច Add New Keyboard ច Khmer។
នៅកម្ពុជា ស្ដង់ដារក្ដារចុចផ្លូវការគឺ NiDA Keyboard ដែលអាជ្ញាធរ National ICT Development Authority (NiDA) បានចេញផ្សាយតាំងពីឆ្នាំ ២០០៤ ហើយក្រោយមកត្រូវបានបញ្ចូលជា layout ស្ដង់ដារនៅក្នុង Windows ដោយផ្ទាល់។ លំដាប់វាយត្រឹមត្រូវគឺ ព្យញ្ជនៈ បន្ទាប់មកជើង (វាយ “្” មុនព្យញ្ជនៈជើង) រួចទើបស្រៈ។ ឧទាហរណ៍ ពាក្យ “ស្ត្រី” ត្រូវវាយ ស + ្ + ត + ្ + រ + ី តាមលំដាប់នេះ មិនមែនវាយតួអក្សរណាមួយដាច់ដោយឡែកនោះទេ។
ដើម្បីផ្ទៀងផ្ទាត់ថាអ្នកកំពុងវាយ Unicode ពិតប្រាកដ មិនមែនពុម្ពអក្សរចាស់ Limon ឬ ABC សូមចម្លងអក្សរទៅដាក់ក្នុង Google Search ឬ Facebook ប្រសិនបើវាបង្ហាញត្រឹមត្រូវនៅគ្រប់កន្លែង នោះជា Unicode។ បើវាខូចតែនៅលើ web ប៉ុន្តែល្អនៅក្នុង Word នោះច្រើនជាពុម្ពអក្សរចាស់ legacy។ យោងតាម Unicode Consortium ប្លុកអក្សរខ្មែរ (U+1780 ដល់ U+17FF) ត្រូវបានកំណត់ជាផ្លូវការតាំងពី Unicode ជំនាន់ 3.0 ឆ្នាំ ១៩៩៩ ដូច្នេះគ្រប់ឧបករណ៍ទំនើបសុទ្ធតែស្គាល់វា ដរាបណាអ្នកវាយត្រឹមត្រូវ។
អក្សរខ្មែរខូចពេលនាំចេញ PDF និងពេលបោះពុម្ព
ករណីដែលអក្សរខ្មែរបង្ហាញល្អនៅលើអេក្រង់ ប៉ុន្តែប្រែទៅជា tofu ឬប្រឡាក់គ្នានៅពេលបម្លែងទៅ PDF គឺជាបញ្ហាដែលអាជីវកម្មបោះពុម្ពជួបញឹកញាប់។ មូលហេតុចម្បងគឺ ពុម្ពអក្សរមិនត្រូវបានបង្កប់ (embedded) ចូលក្នុងឯកសារ PDF ដូច្នេះពេលបើកនៅម៉ាស៊ីនផ្សេង ដែលគ្មានពុម្ពអក្សរនោះ កម្មវិធីជំនួសដោយពុម្ពអក្សរ default ដែលគ្មានតួអក្សរខ្មែរ។
ដំណោះស្រាយជាជំហានៗ៖
- Microsoft Word៖ ពេលរក្សាទុក សូមជ្រើស File ច Options ច Save រួចធីក “Embed fonts in the file”។ ពេល Export ជ្រើស PDF/A standard ដែលបង្ខំឱ្យបង្កប់ពុម្ពអក្សរ។
- LibreOffice៖ File ច Export as PDF ច ផ្ទាំង General ច ធីក “Embed standard fonts”។
- Adobe InDesign/Illustrator៖ ពេល Export PDF ប្រើ preset “Press Quality” ដែលបង្កប់ពុម្ពអក្សរទាំងអស់ ឬប្ដូរអក្សរទៅ outline (Create Outlines) ដើម្បីការពារ ១០០ ភាគរយ។
ដើម្បីផ្ទៀងផ្ទាត់ថាពុម្ពអក្សរបានបង្កប់ឬនៅ សូមបើក PDF ក្នុង Adobe Acrobat Reader រួចចូល File ច Properties ច ផ្ទាំង Fonts។ ប្រសិនបើឃើញពាក្យ “(Embedded)” ឬ “(Embedded Subset)” នៅក្បែរឈ្មោះពុម្ពអក្សរ នោះត្រឹមត្រូវ។ បើគ្មាន នោះ PDF នឹងខូចនៅម៉ាស៊ីនអ្នកដទៃ។
បញ្ហាមួយទៀតគឺ ការចម្លងអក្សរ (copy text) ចេញពី PDF ខ្មែរ ហើយទទួលបានតួអក្សរប្រឡាក់គ្នា។ នេះកើតឡើងព្រោះ PDF ខ្វះ ToUnicode CMap ដែលជាតារាងភ្ជាប់ glyph ទៅ Unicode code point។ ដំណោះស្រាយគឺ ត្រូវប្រើពុម្ពអក្សរ Khmer OS ឬ Noto Sans Khmer ដែលផលិតដោយ Google និង Open Forum of Cambodia ព្រោះវាមាន mapping ត្រឹមត្រូវ។ ចំពោះការបោះពុម្ពលើក្រដាស ប្រសិនបើម៉ាស៊ីនបោះពុម្ពមិនមានពុម្ពអក្សរ ត្រូវផ្ញើជា PDF ដែលបង្កប់ពុម្ពអក្សររួចជាស្រេច ឬប្ដូរទៅជារូបភាព (rasterize) ដើម្បីធានាលទ្ធផលដូចគ្នាបេះបិទ។
ការប្រើអក្សរខ្មែរក្នុងកម្មវិធីរចនាក្រាហ្វិក Adobe និង Canva
អ្នករចនាក្រាហ្វិកជាច្រើនជួបបញ្ហាដែលជើង និងស្រៈខ្មែរលោតខ្ពស់ ឬដាក់ខុសទីតាំងនៅក្នុង Adobe Photoshop និង Illustrator។ មូលហេតុមិនមែនជាពុម្ពអក្សរទេ ប៉ុន្តែជា text engine ដែលបិទមុខងារ complex script។ Adobe (ឯកសារ Adobe Help 2024) បានបញ្ជាក់ថា ត្រូវបើក “World-Ready Composer” ឬ “Middle Eastern & South Asian” engine ដើម្បីឱ្យអក្សរផ្សំខ្មែរបង្ហាញត្រឹមត្រូវ។
ជំហានសម្រាប់ Photoshop៖ ចូល Edit ច Preferences ច Type ច នៅ “Choose Text Engine Options” ជ្រើស “World-Ready Layout” រួចបិទបើកកម្មវិធីសារឡើងវិញ។ ចំពោះ Illustrator ដូចគ្នា ត្រូវចូល Preferences ច Type រួចជ្រើស World-Ready engine។ បើគ្មានការកំណត់នេះ ពាក្យ “ខ្ញុំ” អាចបង្ហាញជា “ខញុំ” ដែលជើង “្ញ” លែងភ្ជាប់នឹងព្យញ្ជនៈ។
| កម្មវិធី | គាំទ្រ Khmer Unicode | ការកំណត់ចាំបាច់ |
|---|---|---|
| Adobe InDesign | ល្អបំផុត | បើក World-Ready Composer ក្នុង Paragraph menu |
| Adobe Illustrator | ល្អ | Preferences ច Type ច World-Ready |
| Adobe Photoshop | ល្អ (ជំនាន់ថ្មី) | ប្ដូរ Text Engine ជា World-Ready Layout |
| Canva | មានកំណត់ | ត្រូវ upload ពុម្ពអក្សរផ្ទាល់ខ្លួន (Canva Pro) |
ចំពោះ Canva ដែលជាឧបករណ៍ពេញនិយមសម្រាប់អ្នកមិនមែនអ្នកជំនាញ ការគាំទ្រអក្សរខ្មែរនៅមានកម្រិត ព្រោះបញ្ជីពុម្ពអក្សរ default ភាគច្រើនមិនមានតួអក្សរខ្មែរ។ ដំណោះស្រាយគឺ ប្រើមុខងារ “Upload a font” ដែលមានសម្រាប់តែគណនី Canva Pro រួចបញ្ចូលឯកសារពុម្ពអក្សរ Noto Sans Khmer ឬ Kantumruy Pro ដែលអាចទាញយកដោយឥតគិតថ្លៃពី Google Fonts។ ក្រោយ upload រួច អក្សរខ្មែរនឹងបង្ហាញត្រឹមត្រូវ និងអាចនាំចេញជា PNG ឬ PDF។ ការណែនាំសម្រាប់ការងារបោះពុម្ពធំ និងស្មុគស្មាញ គឺគួរប្រើ InDesign ព្រោះវាគ្រប់គ្រងលំដាប់ glyph ខ្មែរបានល្អបំផុតក្នុងចំណោមកម្មវិធីទាំងអស់ ហើយផ្ដល់លទ្ធផលបោះពុម្ពស្អាតបំផុត។
ការបម្លែងឯកសារស្កេន និងរូបភាពទៅជាអក្សរខ្មែរ Unicode ដោយ OCR
ឯកសារចាស់ៗដែលត្រូវបានស្កេនទុកជារូបភាព (JPG, PNG, ឬ PDF ប្រភេទរូបភាព) មិនអាចស្វែងរក កែ ឬចម្លងជាអក្សរបានទេ ហើយពេលខ្លះនៅពេលបម្លែងមកវិញ វាបង្ហាញជា Tofu ឬ Boxes ដោយសារម៉ាស៊ីនមិនស្គាល់តួអក្សរ។ ដំណោះស្រាយគឺ OCR (Optical Character Recognition) ដែលអានរូបភាព រួចបម្លែងទៅជាអក្សរ Khmer Unicode ពិតប្រាកដ។ ភាសាខ្មែរជាប់ចំណាត់ថ្នាក់ជាភាសាពិបាកសម្រាប់ OCR ដោយសារតួអក្សរជើង (subscript) ការតម្រួតស្រៈ និងគ្មានដកឃ្លារវាងពាក្យ។
ជំហានអនុវត្តជាក់ស្តែងមានដូចតទៅ៖ ដំបូងស្កេនឯកសារនៅគុណភាពយ៉ាងតិច 300 DPI ព្រោះតួអក្សរជើងតូចៗត្រូវការភាពច្បាស់ខ្ពស់។ បន្ទាប់មកជ្រើសម៉ាស៊ីន OCR ដែលគាំទ្រកូដ khm។ បន្ទាប់ពីបម្លែងរួច ត្រូវផ្ទៀងផ្ទាត់ដោយផ្ទាល់ ព្រោះ OCR តែងច្រឡំ “ា” ជាមួយ “ៅ” ឬភ្លេចតួអក្សរជើង។ ចុងក្រោយរក្សាទុកជា UTF-8 ដើម្បីកុំឱ្យកើតបញ្ហា Tofu ឡើងវិញ។
| ឧបករណ៍ | ប្រភេទ | តម្លៃ | ភាពងាយប្រើ |
|---|---|---|---|
| Google Cloud Vision API | Cloud, គាំទ្រ khm | $1.50 ក្នុង 1000 រូបភាព (Google Cloud Pricing 2026) | ត្រូវចេះកូដ |
| Tesseract OCR (khm.traineddata) | Open source, ឥតគិតថ្លៃ | ឥតគិតថ្លៃ (Tesseract Project 2024) | បច្ចេកទេសខ្ពស់ |
| ABBYY FineReader | Desktop | ប្រហែល $199 ក្នុងមួយ License (ABBYY 2026) | ងាយស្រួល |
| Google Docs (Drive OCR) | Cloud, ឥតគិតថ្លៃ | ឥតគិតថ្លៃ | ងាយបំផុត |
សម្រាប់អ្នកប្រើទូទៅ វិធីលឿនបំផុតគឺផ្ទុករូបភាពឡើង Google Drive រួចបើកដោយ Google Docs ដែលនឹងបម្លែងជាអក្សរស្វ័យប្រវត្តិ។ យោងតាមឯកសារគម្រោង Tesseract (2024) ម៉ូដែលភាសាខ្មែរនៅមានកម្រិតភាពត្រឹមត្រូវទាបជាងភាសាឡាតាំង ដូច្នេះការត្រួតពិនិត្យដោយមនុស្សនៅតែចាំបាច់ ជាពិសេសសម្រាប់ឈ្មោះ លេខ និងពាក្យបច្ចេកទេស។
ការដោះស្រាយអក្សរខ្មែរខូចក្នុងអក្សររត់វីដេអូ (Subtitles) និងបណ្ដាញសង្គម
អក្សររត់ខ្មែរ (subtitles) តែងបង្ហាញជា Boxes ឬតួអក្សរច្របូកច្របល់នៅពេលលេងលើ VLC, កុំព្យូទ័រគេ ឬ Smart TV។ មូលហេតុចម្បងពីរគឺ៖ ឯកសារ SRT ត្រូវបានរក្សាទុកមិនមែនជា UTF-8 (ឧ. ANSI ឬ Windows-1252) ហើយម៉ាស៊ីនលេងវីដេអូប្រើពុម្ពអក្សរលំនាំដើមដែលគ្មានតួអក្សរខ្មែរ។
ដើម្បីដោះស្រាយ ត្រូវធ្វើតាមជំហានទាំងនេះ៖
- បើកឯកសារ .srt ដោយ Notepad++ រួចជ្រើស Encoding ទៅជា “UTF-8” (មិនមែន UTF-8 BOM សម្រាប់កម្មវិធីខ្លះ) រួចរក្សាទុកឡើងវិញ។
- ក្នុង VLC ចូល Tools > Preferences > Subtitles, កំណត់ Default encoding ទៅ Universal (UTF-8) និងជ្រើសពុម្ពអក្សរ Khmer ដូចជា Khmer OS ឬ Noto Sans Khmer។
- សម្រាប់ការផ្សាយ ត្រូវ “ដុត” (burn-in) អក្សររត់ចូលក្នុងវីដេអូផ្ទាល់ ដើម្បីកុំឱ្យអាស្រ័យលើពុម្ពអក្សររបស់ឧបករណ៍អ្នកមើល។
នៅលើ YouTube ការបង្ហោះឯកសារ subtitle ជា UTF-8 ដោះស្រាយបញ្ហា Tofu ភ្លាមៗ ព្រោះ YouTube ប្រើ Noto Sans Khmer របស់ Google ដែលគ្របដណ្ដប់តួអក្សរខ្មែរពេញលេញ (Google Noto Project 2024)។ ចំណែក CapCut និង Adobe Premiere Pro ត្រូវការតម្លើងពុម្ពអក្សរខ្មែរចូលប្រព័ន្ធជាមុនសិន បើពុំនោះអក្សរនឹងបាត់ជើង ឬតួអក្សរត្រួតគ្នា។
នៅលើបណ្ដាញសង្គមដូចជា Facebook និង TikTok បញ្ហាញឹកញាប់គឺការ “ច្របាច់” (composition) ខុស ពេលអ្នកប្រើ copy អក្សរពីប្រភពចាស់ ឬពី PDF។ វិធីបង្ការគឺវាយអក្សរផ្ទាល់ដោយក្ដារចុច Khmer Unicode (NiDA ឬ ក្ដារចុចលំនាំដើមរបស់ Android/iOS) ហើយជៀសវាងការ copy ពីប្រភពមិនច្បាស់លាស់។ យោងតាមអង្គការ Unicode Consortium (2024) ការប្រើលំដាប់តួអក្សរ (character ordering) ឱ្យត្រឹមត្រូវតាមស្តង់ដារ គឺជាកត្តាសម្រេចថា អក្សរនឹងបង្ហាញត្រឹមត្រូវនៅគ្រប់វេទិកា ឬអត់។
ការធ្វើ SEO និងការ Index អក្សរខ្មែរ Unicode ដោយ Search Engine
គេហទំព័រខ្មែរជាច្រើនមិនលេចឡើងនៅលើ Google មិនមែនព្រោះខ្វះខ្លឹមសារទេ ប៉ុន្តែព្រោះអក្សរត្រូវបានសរសេរដោយពុម្ពអក្សរចាស់ដូចជា Limon ឬ ABC ដែលរក្សាទុកជា Latin code points។ យោងតាមឯកសារ Google Search Central (Google 2024) កម្មវិធីវារ Googlebot អានតែតួអក្សរ Unicode ពិតប្រាកដ ដូច្នេះអត្ថបទ Limon ត្រូវបាន index ជាអក្សរឥតន័យដូចជា “lyx)Rkb” មិនមែនជា “ភ្នំពេញ” ឡើយ។ លទ្ធផលគឺទំព័រនោះមិនអាចចាប់បាន keyword ខ្មែរណាមួយ ហើយធ្លាក់ចេញពីលទ្ធផលស្វែងរក។
ដំណោះស្រាយជាជំហានៗ៖ ទីមួយ បម្លែងខ្លឹមសារទាំងអស់ទៅ Khmer Unicode ដោយឧបករណ៍ដូចជា Khmer Converter ឬ pannasastra។ ទីពីរ កំណត់ <html lang="km"> ដើម្បីប្រាប់ search engine ពីភាសា ដែល Google Search Central ណែនាំសម្រាប់ការកំណត់ភាសាត្រឹមត្រូវ។ ទីបី បញ្ជូន sitemap តាមរយៈ Google Search Console រួចប្រើ URL Inspection Tool ដើម្បីមើល “Rendered HTML” ថាតើ Google ឃើញអក្សរខ្មែរត្រឹមត្រូវដែរឬទេ។ ទីបួន សរសេរ meta title និង meta description ជា Unicode ផ្ទាល់ ព្រោះ Google បង្ហាញវាក្នុង SERP។
ទីផ្សារកម្ពុជាមានភាពពិសេស៖ យោងតាម StatCounter (ខែឧសភា 2026) Chrome on Android គ្រប់គ្រងជាង 60% នៃ traffic ក្នុងស្រុក ហើយ Android ភ្ជាប់មក Noto Sans Khmer ស្រាប់ ដូច្នេះ Unicode បង្ហាញបានល្អដោយមិនបាច់បង្កប់ font។ ការប្រើ structured data (Schema.org) ជា Unicode ជួយ Google យល់អំពីខ្លឹមសារ business ក្នុងស្រុក។ ការសាកល្បងៈ ប្រើ Google Rich Results Test និង Mobile-Friendly Test ដើម្បីបញ្ជាក់ថាអក្សរមិនមែនជា Tofu ក្នុង screenshot ដែលឧបករណ៍បង្ហាញ។
- ត្រួតពិនិត្យ Coverage Report ក្នុង Search Console រកទំព័រ “Crawled, not indexed” ដែលជារឿយៗមកពី font ចាស់។
- ជៀសវាងបង្កប់អក្សរខ្មែរក្នុងរូបភាព ព្រោះ Googlebot មិនអាន text ក្នុង image ដោយគ្មាន alt text Unicode។
- ប្រើ URL ស្អាតជា Latin transliteration ឬ Unicode encoded ព្រោះ browser ខ្លះបង្ហាញ URL ខ្មែរជា percent-encoding។
ការដោះស្រាយអក្សរខ្មែរក្នុងការអភិវឌ្ឍកម្មវិធីទូរស័ព្ទ Flutter, React Native និង Native
នៅពេលអ្នកអភិវឌ្ឍន៍ app ទូរស័ព្ទ បញ្ហា Tofu កើតឡើងខុសពីលើ web ព្រោះ framework នីមួយៗគ្រប់គ្រង font និង text shaping ផ្សេងគ្នា។ Flutter មិនប្រើ font របស់ប្រព័ន្ធតាមលំនាំដើមទេ ប៉ុន្តែប្រើ engine ផ្ទាល់ខ្លួនជាមួយ HarfBuzz សម្រាប់ការតម្រៀបព្យាង្គ។ យោងតាមឯកសារ Flutter (Flutter Docs 2024) អ្នកត្រូវ bundle ពុម្ពអក្សរ Noto Sans Khmer ក្នុង pubspec.yaml ក្រោម section fonts: រួចកំណត់ fontFamily ក្នុង ThemeData បើមិនដូច្នេះអក្សរនឹងបង្ហាញជា boxes លើ device ដែលគ្មាន font ខ្មែរ។
| Framework | កន្លែងបញ្ចូល font | ឧបករណ៍ shaping |
|---|---|---|
| Flutter | pubspec.yaml (assets/fonts) | HarfBuzz ក្នុង engine |
| React Native | react-native.config.js + npx react-native-asset | font របស់ OS |
| Android Native | res/font + android:fontFamily | Minikin (Noto Sans Khmer ស្រាប់) |
| iOS Native | Info.plist UIAppFonts | CoreText (Khmer Sangam MN ស្រាប់) |
សម្រាប់ React Native ដាក់ .ttf ក្នុង folder assets កំណត់វាក្នុង react-native.config.js រួចដំណើរការ npx react-native-asset ដើម្បី link ចូល native project ទាំង Android និង iOS។ Android native ផ្ទុក Noto Sans Khmer ស្រាប់ចាប់តាំងពី Android 4.4 (Android Developers) ដូច្នេះបញ្ហាកើតមានតែពេលប្រើ custom font ដែលគ្មាន glyph ខ្មែរ។ iOS ភ្ជាប់ Khmer Sangam MN តាំងពី iOS 5 (Apple Developer Documentation) ប៉ុន្តែវាគាំទ្រ glyph តិចជាង Noto។
កំហុសទូទៅគឺ rendering ខុសព្យាង្គ ដូចជា ជើងអក្សរ (subscript) ដាក់ខុសទីតាំង នៅពេលប្រើ font version ចាស់។ ដំណោះស្រាយៈ ប្រើ Noto Sans Khmer version ថ្មីពី Google Fonts ដែលគាំទ្រ Unicode 15.1 (Unicode Consortium 2023) ហើយសាកល្បងលើ device ពិតប្រាកដ មិនមែនតែលើ emulator ព្រោះ emulator អាចខ្វះ font ខ្មែរ។ សម្រាប់ Flutter ការប្រើ package google_fonts អនុញ្ញាតឱ្យ download Noto Sans Khmer ពេល runtime ដោយមិនបាច់ដាក់ក្នុង bundle ដែលកាត់បន្ថយទំហំ app។
Related Reading
- បច្ចេកវិទ្យា និងការច្នៃប្រឌិតឌីជីថលនៅកម្ពុជា
- AI និងភាសាខ្មែរ៖ ការបកប្រែ សំឡេង និងករណីប្រើប្រាស់
- Startup បច្ចេកវិទ្យាខ្មែរ៖ ក្រុមហ៊ុនឈានមុខ និងឱកាស
- កម្មវិធីខ្មែរ ធៀបនឹងកម្មវិធីបរទេស៖ ការប្រៀបធៀបពេញលេញ
- ការទូទាត់ឌីជីថល និង Fintech ខ្មែរ៖ Bakong និង KHQR
- បច្ចេកវិទ្យាខ្មែរ ជាអ្វី៖ មគ្គុទេសក៍ឌីជីថលនៅកម្ពុជា
- ប្រវត្តិបច្ចេកវិទ្យានៅកម្ពុជា៖ ពីឆ្នាំ១៩៩០ ដល់បច្ចុប្បន្ន
- រដ្ឋាភិបាលឌីជីថល (e-Government) នៅកម្ពុជា៖ សេវា និងរបៀបប្រើ
- របៀបដំឡើង និងវាយអក្សរខ្មែរលើ Windows, Mac, Android, iPhone
- របៀបប្រើ Khmer Unicode និងពុម្ពអក្សរខ្មែរ៖ មគ្គុទេសក៍ជំហានៗ
- សុវត្ថិភាពអ៊ីនធឺណិត កម្ពុជា៖ ការការពារទិន្នន័យសម្រាប់អ្នកប្រើ
- ហេតុអ្វីបច្ចេកវិទ្យាខ្មែរសំខាន់សម្រាប់សេដ្ឋកិច្ចកម្ពុជា
- ABA Mobile ការវាយតម្លៃ៖ មុខងារ ថ្លៃសេវា និងបទពិសោធន៍
- Bakong ការវាយតម្លៃ៖ មុខងារ សុវត្ថិភាព និងការប្រើប្រាស់
- Pi Pay ការវាយតម្លៃ៖ កាបូបឌីជីថល មុខងារ និងសុវត្ថិភាព
- Smart ធៀប Cellcard ធៀប Metfone៖ ការវាយតម្លៃបណ្តាញ និងអ៊ីនធឺណិត
- Wing Bank ការវាយតម្លៃ៖ សេវាកម្ម គុណសម្បត្តិ និងគុណវិបត្តិ
- ពុម្ពអក្សរ Chuon Nath ការវាយតម្លៃ៖ ការប្រើ និងភាពឆបគ្នា
ប្រភព
- Unicode Consortium (តារាងលេខកូដអក្សរខ្មែរ U+1780–U+17FF) – https://www.unicode.org/charts/PDF/U1780.pdf
- Wikipedia (ប្លុក Unicode សម្រាប់អក្សរខ្មែរ និងចំនួនតួអក្សរ) – https://en.wikipedia.org/wiki/Khmer_(Unicode_block)
- Wikipedia (អក្សរខ្មែរ ព្យញ្ជនៈ និងប្រព័ន្ធជើង Coeng) – https://en.wikipedia.org/wiki/Khmer_script
- UNESCO (បរិបទបេតិកភណ្ឌភាសា និងអក្សរខ្មែរ) – https://www.unesco.org/en
អានបន្ថែម
ម៉ូដខ្មែរ 2026៖ ការរួមបញ្ចូលរវាងប្រពៃណី និងនិន្នាការសម័យទំនើប
{“@context”:”https://schema.org”,”@type”:”Article”,”headline”:”ដោះស្រាយបញ្ហាអក្សរខ្មែរខូច (Tofu/Boxes) និងបញ្ហាបច្ចេកទេសទូទៅ”,”inLanguage”:”km”,”author”:{“@type”:”Organization”,”name”:”Editorial”},”publisher”:{“@type”:”Organization”,”name”:”Khmer pulse Hub”},”about”:”ដោះស្រាយបញ្ហា អក្សរខ្មែរ កុំព្យូទ័រ”}





