អំពីកម្មវិធីនេះ
អ្នកប្រើខ្មែរភាគច្រើនថ្ងៃនេះធ្វើការក្នុង Unicode — កូដដែលទូរស័ព្ទ កម្មវិធីរុករក និងឧបករណ៍រចនាសម័យថ្មីបង្ហាញបានត្រឹមត្រូវ។ ប៉ុន្តែផ្នែកពិតនៃការងារវិជ្ជាជីវៈក្នុងកម្ពុជានៅតែរត់លើពុម្ពខ្មែរជំនាន់ចាស់៖ ហាងបោះពុម្ពដែលរៀបអត្ថបទក្នុង Adobe InDesign CS6 ម៉ាស៊ីនកាត់បង្គោលដែលកម្មវិធីរបស់វាអានតែបៃ Limon គំរូឯកសាររដ្ឋាភិបាលដែលសរសេរក្នុង Khek និងបោះពុម្ពឡើងវិញសៀវភៅមុនឆ្នាំ ២០១០ ដែលរៀបក្នុង ABC-Zwsp។ ការងារទាំងនោះបើកឯកសារ Unicode មិនបានទាល់តែសោះ — វាត្រូវការអត្ថបទជាបៃចាស់។ កម្មវិធីបម្លែង Unicode ទៅពុម្ពខ្មែរចាស់នេះ គឺជាស្ពានរវាងពាក្យនោះ៖ បិទភ្ជាប់អត្ថបទខ្មែរសម័យថ្មីរបស់អ្នក ជ្រើស Limon, ABC-Zwsp ឬ Khek រួចចម្លងលទ្ធផល ឬទាញយកជាឯកសារ .txt កូដ Windows-1252 ដែលឧបករណ៍ចាស់នាំចូលបាន។ ការបម្លែង Unicode ទៅ Limon, Unicode ទៅ Khek និង Unicode ទៅ ABC-Zwsp គឺជាលទ្ធផលបៃបីខុសគ្នាពីទិន្នន័យតែមួយ — កម្មវិធីបម្លែងពុម្ពខ្មែរចាស់អនុវត្តតារាងត្រឹមត្រូវសម្រាប់គោលដៅដែលអ្នកជ្រើស ដូច្នេះឯកសារដែលអ្នកប្រគល់ឱ្យហាងបោះពុម្ព គូរបានត្រឹមត្រូវក្នុងពុម្ពរបស់ពួកគេ។ កំណត់សម្គាល់ស្មោះមួយមុនចាប់ផ្ដើម៖ លទ្ធផលមើលទៅដូចជាអក្សរឡាតាំងវង្វេង រហូតដល់វាត្រូវបើកក្នុងពុម្ពចាស់ត្រឹមត្រូវ — នោះជារឿងធម្មតា ជារបៀបដែលកូដចាស់ដំណើរការ មិនមែនកំហុសទេ។
របៀបដំណើរការ
ការចុច «បម្លែង» រត់ convertUnicodeToLegacy ពី lib/khmer-legacy-converter/converter.ts ក្នុងកម្មវិធីរុករករបស់អ្នក ក្រោមកូដដែលអ្នកជ្រើស — គ្មានការស្គាល់ស្វ័យប្រវត្តិនៅទីនេះទេ ព្រោះទិន្នន័យជា Unicode រួចហើយ ហើយសំណួរគឺតារាងណាត្រូវបង្កើត មិនមែនតារាងណាត្រូវបកទេ។ កូដព័ញ្ញ Unicode ខ្មែរនីមួយៗមានបៃដែលតារាងកំណត់ ប៉ុន្តែជំហាននេះមិនអាចដូរមួយទៅមួយដោយផ្ទាល់បានទេ៖ អក្សរជើងខ្មែរជាកូដព័ញ្ញពីរក្នុង Unicode — U+17D2 (ជើង) បន្តដោយព្យញ្ជន៍មូល — ខណៈពុម្ពចាស់រក្សាទុកអក្សរជើងជាបៃតែមួយគូរក្រោមមូលរបស់វា។ កម្មវិធីបម្លែងដូច្នេះរៀបជុំស្ករនីមួយៗចូលលំដាប់បង្ហាញរបស់ពុម្ពជាមុន (reorder.ts: legacyReorder ដែលក៏បញ្ចូលស្ញ្ញាទីតាំង U+17EA ដែលជំហានបង្កើតបៃប្រើបញ្ចប់) ដូច្នេះពេលវាជួប U+17D2 វាមើលទៅមុខ ប្រើកូដព័ញ្ញព្យញ្ជន៍បន្ទាប់រួមគ្នា ហើយបង្កើតបៃអក្សរជើងតែមួយ — នេះជាកន្លែងដែលកូដសាមញ្ញបាត់បង់តួអក្សរដោយស្ងាត់។ អ្វីដែលគ្មានក្នុងតារាង ឆ្លងកាត់ដោយមិនផ្លាស់ប្ដូរ និងត្រូវបានរាប់ក្នុងប្លាក់តួអក្សរគ្មានក្នុងតារាង។ ដកឃ្លា និងបំបែកខ្សែ ឆ្លងកាត់ដោយមិនប៉ះ។ អត្ថបទលើស ១០ KB បម្លែងក្នុង Web Worker អត្ថបទតូចរត់លើខ្សែស្រឡាយមេ ទាំងស្រុងក្នុងមូលដ្ឋាន — មានតែចំនួនរាប់ប៉ុណ្ណោះក្នុងទិន្នន័យប្រើប្រាស់អនាមិក។ លទ្ធផលបង្ហាញត្រឹមត្រូវក៏តែក្នុងពុម្ពចាស់ត្រឹមត្រូវប៉ុណ្ណោះ ដែលជាមូលហេតុដែលឯកសារទាញយកសរសេរបៃ Windows-1252 ពិត មិនមែន UTF-8។
ករណីប្រើប្រាស់
- អ្នករចនាម្នាក់រៀបខៀសក្នុង Adobe InDesign CS6 ដែលពុម្ពខ្មែរមានតែ Limon ហើយអត្ថបទសរសេរក្នុង Unicode សម័យថ្មី។
- ហាងបោះពុម្ពមួយផលិតធៀបអាពាហ៍ពិពាហ៍ លើការងារជំនាន់ចាស់ដែលនៅតែរត់លើពុម្ព Limon។
- មន្ត្រីរាជការម្នាក់រៀបឯកសារក្នុងគំរូចាស់ដែលទាមទារអត្ថបទកូដ Khek ដើម្បីបង្ហាញលើម៉ាស៊ីនបោះពុម្ពចាស់ដែលមិនទាន់ប្ដូរ។
- អ្នកបោះពុម្ពម្នាក់បោះសៀវភៅខ្មែរបុរាណឡើងវិញ ដែលការរៀបអក្សររបស់វាជា ABC-Zwsp ហើយខ្លឹមសារថ្មីសរសេរក្នុង Unicode។
- អ្នកអភិវឌ្ឍកម្មវិធីបង្កើតឯកសារ Limon បម្រុងសម្រាប់អ្នកប្រើលើប្រព័ន្ធ Windows ចាស់ដែលគ្មានពុម្ព Unicode ខ្មែរ។
- អ្នកសរសេរបង្គោលដែលកម្មវិធីកាត់របស់គេទទួលតែបៃ Limon។
- អ្នកឃ្លាំងម្នាក់រៀបឯកសារពុម្ពចាស់ចំលងនៃឯកសារ Unicode សម្រាប់បោះពុម្ពដែលត្រូវតាមកំណែដើមទសវត្ស ១៩៩០។
គំរូបម្លែងដែលបានផ្ទៀងផ្ទាត់
| Encoding | Legacy text | Unicode Khmer |
|---|---|---|
| limon | sYsþI bgb¥Ún | សួស្តី បងប្អូន |
| limon | sMNYr nigcemøIy GMBI PasaExµr | សំណួរ និងចម្លើយ អំពី ភាសាខ្មែរ |
| abc-zwsp | sYsþI.bgbðÚn | សួស្តី បងប្អូន |
| abc-zwsp | qñaM.2026.Ex.11 | ឆ្នាំ ២០២៦ ខែ ១១ |
| khek | sYs¶I bgbíèn | សួស្តី បងប្អូន |
| khek | ekµg@kMBugeronGk§rExµr enAsalaeron | ក្មេងៗកំពុងរៀនអក្សរខ្មែរ នៅសាលារៀន |
សំណួរដែលគេសួរញឹកញាប់
ហេតុអ្វីខ្ញុំត្រូវបម្លែងពី Unicode ទៅកូដចាស់វិញ?
ព្រោះផ្នែកទទួលនៅតែរត់លើពុម្ពចាស់។ ហាងបោះពុម្ពដែលមានគំរូ DTP ពុម្ព Limon កម្មវិធីកាត់បង្គោលដែលអានតែបៃ Limon បែបបែនរដ្ឋាភិបាលដែលសរសេរក្នុង Khek និងការបោះពុម្ពឡើងវិញមុនឆ្នាំ ២០១០ ដែលរៀបក្នុង ABC-Zwsp មិនអាចបើក Unicode ខ្មែរបានទាល់តែសោះ — ស្ញ្ញាចេញជាអក្សរឡាតាំងវង្វេង។ បើការងារដែលអ្នកបំពេញជាចាស់ ឯកសារដែលអ្នកប្រគល់ក៏ត្រូវជាចាស់ដែរ។
តើខ្ញុំគួរជ្រើសកូដចាស់ណា — Limon, ABC-Zwsp ឬ Khek?
ជ្រើសពុម្ពដែលឧបករណ៍ទទួលពិតជាដំឡើង។ Limon ជាធម្មតាជាចម្លើយសម្រាប់ការងារ DTP សម័យ Windows ចាស់ និងហាងបោះពុម្ព។ ABC-Zwsp សាកសមនឹងខ្សែការងារដែលរំពឹងគ្រួសារ ABC ជាមួយបៃសម្គាល់ព្រំពាក្យ។ Khek ភាគច្រើនជាគំរូរដ្ឋាភិបាល និងរដ្ឋបាល។ បើមិនដឹង សួរហាងបោះពុម្ព ឬពិនិត្យពុម្ពដែលបង្ហាញក្នុងបញ្ជីពុម្ពឯកសារ — ការបម្លែងក្រោមតារាងខុស ផលិតលទ្ធផលដែលវង្វេងសូម្បីក្នុងពុម្ពរបស់ពួកគេ។
តើលទ្ធផលខ្ញុំបើកបានក្នុង Adobe InDesign CS6 ឬ Microsoft Publisher 2003 ឬទេ?
បាទ/ចាស លក្ខណៈគឺម៉ាស៊ីននោះមានពុម្ពចាស់ត្រឹមត្រូវដំឡើង ហើយអ្នកប្រគល់វាបៃ មិនមែន UTF-8។ ប៊ូតុងទាញយកសរសេរឯកសារ .txt កូដ Windows-1252 — តម្លៃបៃពិតដែលកម្មវិធីទាំងនោះអាន — ដូច្នេះ InDesign ឬ Publisher បកវាតាមពុម្ព Limon, ABC-Zwsp ឬ Khek របស់វា ដូចឯកសារដែលវាយនៅទីនោះតាំងពីដំបូង។ ការរក្សាទុកជា UTF-8 ជំនួសឱ្យនោះ នឹងកូដជាន់ពីរជាន់បៃខ្ពស់ ហើយខូចឯកសារ។
ហេតុអ្វីតួអក្សរខ្លះចេញជាទទេក្នុងលទ្ធផល?
ពុម្ពចាស់ចាស់ជាងផ្នែកមួយចំនួននៃប្លក់ Unicode ខ្មែរ ដូច្នេះតួអក្សរខ្លះ — ស្ញ្ញាកម្រ អក្សរថ្មី និងនិមិត្តស្ញ្ញា — គ្មានបៃឱ្យបម្លែង។ តួអក្សរដែលមិនបម្លែងបាន ឆ្លងកាត់ដោយមិនផ្លាស់ប្ដូរ ជំនួសឱ្យការទាយ ហើយប្លាក់ក្រោមលទ្ធផលរាប់នីមួយៗជាមួយកូដព័ញ្ញរបស់វា។ ក្នុងពុម្ពចាស់ តួអក្សរបែបនោះជាធម្មតាបង្ហាញជាទទេ ឬប្រអប់។ ការកែវាដោយដៃក្នុងកម្មវិធីគោលដៅ គឺជាដំណោះស្រាយត្រឹមត្រូវ។
តើឧបករណ៍រក្សាទុកដកឃ្លា និងការបំបែកខ្សែរបស់ខ្ញុំឬទេ?
បាទ/ចាស — ដកឃ្លា ថេប និងការបំបែកខ្សែ មិនមែនជាកន្លែងស្ញ្ញាក្នុងតារាងទាំងនេះទេ ដូច្នេះពួកវាឆ្លងកាត់ដោយមិនប៉ះ ហើយរចនាសម្ព័ន្ធកថាខណ្ឌរបស់អ្នករួចផុតការបម្លែងដោយគ្រប់គ្រាន់។ ករណីពិសេសមួយគឺ ABC-Zwsp ដែលទម្រង់របស់វាសម្គាល់ព្រំពាក្យដោយបៃផ្ដាច់ខ្លួន។ នោះជាផ្នែកនៃកូដខ្លួនវា មិនមែនដកឃ្លាបាត់បង់ ហើយកម្មវិធីគោលដៅរំពឹងវា។
តើលេខខ្មែរដែរឬទេ — តើវាត្រូវបម្លែងដែរឬទេ?
បាទ/ចាស។ លេខខ្មែរ U+17E0–U+17E9 បម្លែងទៅបៃលេខ ASCII ០–៩ ដែលជារបៀបដែលពុម្ពចាស់គូរពួកវា — ២០២៦ ចេញជា 2026 ហើយពុម្ពគូររូបលេខខ្មែរ។ អត្ថបទលាយដូចជាឆ្នាំក្បែរពាក្យខ្មែរ បម្លែងក្នុងជំហានតែមួយ ដូច្នេះខ្សែដូចជា ឆ្នាំ ២០២៦ ខែ ១១ មិនត្រូវការការដោះស្រាយដាច់ដោយឡែក។
តើការបម្លែងនេះជាទិសតែមួយឬទេ? តើខ្ញុំអាចបម្លែងវិញបានឬទេ?
សម្រាប់តួអក្សរក្នុងតារាង វាបម្លែងវិញបានពេញលេញ — ការបម្លែង Unicode ទៅ Limon ហើយត្រឡប់មកវិញ ត្រឡប់ឃ្លាខ្មែរដដែល ដែលបណ្ដុំតេស្តផ្ទៀងផ្ទាត់លើការសាងនីមួយៗ។ រចនាសម្ព័ន្ធកម្រមួយចំនួន ត្រូវបានកត់ត្រាជាបាត់បង់ក្នុងទិន្នន័យពុម្ពខ្លួនវា (ពុម្ពចាស់មិនដែលតំណាងឱ្យពួកវាដោយស្មោះ) ហើយតួអក្សរក្រៅតារាង ឆ្លងកាត់ដោយមិនផ្លាស់ប្ដូរ ជំនួសឱ្យការប៉ាន់ប្រមាណ។
ហេតុអ្វីលទ្ធផលមើលទៅដូចជាវង្វេងក្នុងកម្មវិធីរុករកខ្ញុំ?
ព្រោះវាគួរតែជាបែបនោះ។ លទ្ធផលមិនមែនជាអត្ថបទដែលកម្មវិធីបង្ហាញសម័យថ្មីណាមួយយល់ទេ — វាជាបណ្ដុំកូដបៃចាស់ដែលគូរជាខ្មែរក៏តែក្នុងពុម្ពត្រឹមត្រូវប៉ុណ្ណោះ ដែលជាអ្វីដែលការងារទទួលត្រូវការ។ ការបិទភ្ជាប់វាចូលកម្មវិធីកែ Unicode នឹងបង្ហាញវង្វេង Latin-1 ជានិច្ច។ ដើម្បីឃើញខ្មែរ អ្នកបើកវានៅកន្លែងដែលពុម្ព Limon, ABC-Zwsp ឬ Khek ត្រូវបានដំឡើង។
តើខ្ញុំអាចមើលលទ្ធផលជាមុនក្នុងពុម្ពចាស់នៅទីនេះបានឬទេ?
មិនទាន់បានទេ — ផ្ទាំងមើលជាមុនមកជាមួយកំណត់ចំណាំងច្បាស់ ព្រោះឯកសារពុម្ពចាស់មានលក្ខខណ្ឌអនុញ្ញាតដែលយើងមិនទាន់ពិនិត្យរួច។ ការបង្ហាញបៃដោយគ្មានពុម្ព គឺស្មោះប៉ុន្តែគ្មានប្រយោជន៍ ដូច្នេះសម្រាប់ពេលនេះ ការពិនិត្យគឺ៖ តើប្លាក់តួអក្សរគ្មានក្នុងតារាងរាយសូន្យឬទេ ហើយតើឯកសារ .txt ដែលទាញយក បើកបានត្រឹមត្រូវក្នុងកម្មវិធីគោលដៅឬទេ។
តើអត្ថបទខ្ញុំចេញពីកម្មវិធីរុករកឬទេ?
ទេ។ តារាងបម្លែងមកជាមួយទំព័រ ហើយការបម្លែងជាការគណនាក្នុងមូលដ្ឋានសុទ្ធ — ទិន្នន័យធំរត់ក្នុង Web Worker មិនមែនលើម៉ាស៊ីនមេ។ ទិន្នន័យបង្ហាញតែមួយគឺព្រឹត្តិការណ៍អនាមិកដែលផ្ទុកចំនួនរាប់ដូចជាប្រវែងទិន្នន័យ និងចំនួនតួអក្សរគ្មានក្នុងតារាង។ អត្ថបទដែលអ្នកបិទភ្ជាប់ និងបៃដែលបង្កើតបាន មិនដែលត្រូវផ្ញើ ឬរក្សាទុកទេ។
ទិន្នន័យ និងភាពជាក់លាក់
តារាងបម្លែងទាំងបីរក្សាទុកក្នុង lib/khmer-legacy-converter/mappings/ ហើយសម្រេចពី fontdata.xml ក្នុងគម្រោង KhmerConverter — កម្មវិធីបម្លែងប្រភពបើកចំហដែលគំនិតផ្ដួចផ្ដើមផ្នែកទន់ខ្មែរ (KhmerOS) ថែរក្សាតាំងពីឆ្នាំ ២០០៦ សម្រាប់ Limon, ABC, Khek និងពុម្ពខ្មែរចាស់ផ្សេង។ ទំព័របម្លែងទាំងស្រុងក្នុងកម្មវិធីរុករករបស់អ្នក។ ការធានាតែមួយអំពីលទ្ធផល គឺតារាងខ្លួនវា ដែលជាមូលហេតុដែលបណ្ដុំតេស្តបម្លែងវិញក្នុងបណ្ណាល័យដដែល ធ្វើតេស្តគូដែលមកជាមួយនីមួយៗ។ លទ្ធផលខុសមានន័យថាកូដដែលបានជ្រើសមិនត្រូវនឹងពុម្ពទទួល — ដំណោះស្រាយគឺជ្រើសតារាងត្រឹមត្រូវ មិនមែនទិន្នន័យចាស់។
ប្រភពព័ត៌មាន
- Khmer — តារាងកូដ Unicode U+1780–U+17FF — Unicode Consortium
- KhmerConverter — កម្មវិធីបម្លែងពុម្ពចាស់របស់ Khmer Software Initiative (តារាង fontdata.xml) — Khmer Software Initiative / KhmerOS (GitHub)
- ទំព័រឧបករណ៍នេះផ្ទាល់ — InKhmer
មាតិកាត្រូវបានពិនិត្យឡើងវិញចុងក្រោយ ថ្ងៃទី 8 វិច្ឆិកា 2026