អំពីកម្មវិធីនេះ
អ្នកប្រើខ្មែរភាគច្រើនថ្ងៃនេះធ្វើការក្នុង 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 | ក្មេងៗកំពុងរៀនអក្សរខ្មែរ នៅសាលារៀន |
សំណួរដែលគេសួរញឹកញាប់
តើពេលណាខ្ញុំគួរជ្រើស ABC-Zwsp សម្រាប់ការបញ្ចេញ?
ពេលការងារទទួលជាគ្រួសារ ABC — ខ្សែការងារ ពុម្ព ឬគំរូដែលរំពឹងការកំណត់បៃ ABC ជាមួយស្ញ្ញាផ្ដាច់ពាក្យ Zwsp រវាងពាក្យ។ បើឯកសារ ឬកម្មវិធីដែលអ្នកបំពេញសាងលើពុម្ព ABC នេះជាតារាងត្រូវប្រើ។ សម្រាប់ហាងបោះពុម្ពដែលរត់លើ Limon ទំព័រ Limon គឺជាទីត្រឹមត្រូវជំនួស។
តើលទ្ធផល ABC-Zwsp រួមបញ្ចូលចំណុចផ្ដាច់រវាងពាក្យឬទេ?
បាទ/ចាស — នោះជាទម្រង់ដំណើរការដូចចេតនា។ ABC-Zwsp រក្សាទុកបៃច្បាស់សម្រាប់ព្រំពាក្យនីមួយៗ ដែលជាអ្វីដែលកម្មវិធីគោលដៅអានជាស្ញ្ញាដកឃ្លារបស់វា។ ដកឃ្លាធម្មតាក្នុងទិន្នន័យ Unicode របស់អ្នក ត្រូវបម្លែងជាបៃផ្ដាច់ទាំងនោះ ដូច្នេះអត្ថបទលទ្ធផលនឹងបង្ហាញស្ញ្ញាដូចចំណុចរវាងពាក្យ។
តើអ្វីខុសគ្នារវាង ABC និង ABC-Zwsp?
ABC-Zwsp គឺជាបំរែបំរួល ABC ដែលសម្គាល់ព្រំពាក្យដោយបៃផ្ដាច់ផ្ទាល់ខ្លួន ជំនួសឱ្យការពឹងលើដកឃ្លាធម្មតា — «Zwsp» ក្នុងឈ្មោះ សំដៅលើលក្ខណៈ zero-width-space ដែលវាធ្វើជាផ្លូវការ។ ការកំណត់ស្ញ្ញាជាច្រើនត្រូវនឹងគ្រួសារ ABC ដទៃ ប៉ុន្តែឯកសារដែលបញ្ចេញដោយគ្មានស្ញ្ញានោះ នឹងបំបែកពាក្យខុសក្នុងកម្មវិធីដែលរំពឹងវា។
តើខ្ញុំអាចបម្លែងឯកសារទាំងមូលទៅ ABC-Zwsp ក្នុងពេលតែមួយបានឬទេ?
បិទភ្ជាប់អត្ថបទទាំងមូល — គ្មានដែនកំណត់ប្រវែង។ ទិន្នន័យលើស ១០ KB ត្រូវបម្លែងក្នុង Web Worker ដើម្បីទំព័រនៅរលូន ហើយប៊ូតុងទាញយកសរសេរលទ្ធផលពេញជាឯកសារ .txt កូដ Windows-1252។ បម្លែងជាផ្នែកៗក៏តែពេលឯកសារលាយ ABC-Zwsp ជាមួយកូដផ្សេង។
ទិន្នន័យ និងភាពជាក់លាក់
តារាងបម្លែងទាំងបីរក្សាទុកក្នុង 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