របៀបដំឡើង Khmer Unicode និង Font ខ្មែរស្អាតៗជាង ២០០ ប្រភេទសម្រាប់កុំព្យូទ័រ

មគ្គុទ្ទេសក៍ពេញលេញពីរបៀបដំឡើង Khmer Unicode លើ Windows/Mac និងកញ្ចប់ Font ខ្មែរជាង ២០០ ប្រភេទសម្រាប់ទាញយកទៅប្រើប្រាស់ដោយឥតគិតថ្លៃ។
របៀបដំឡើង Khmer Unicode និង Font ខ្មែរស្អាតៗ
ចំណេះដឹងឌីជីថល

របៀបដំឡើង និងប្រើប្រាស់ Khmer Unicode ឱ្យមានស្តង់ដារលើកុំព្យូទ័រ

ចេញផ្សាយដោយ៖ បងសំឡាញ់ | ឆ្នាំ ២០២៦

សព្វថ្ងៃនេះ Khmer Unicode ត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយនៅគ្រប់ទីកន្លែង។ មិនថានៅក្នុងស្ថាប័នរដ្ឋ ក្រុមហ៊ុន ឬសាលារៀន ក៏ដូចជាបុគ្គលទូទៅ ក៏សុទ្ធតែប្រើប្រាស់វាសម្រាប់បង្កើតឯកសារទាំងផ្លូវការ និងមិនផ្លូវការ។

១. ហេតុអ្វីត្រូវប្រើ Khmer Unicode?

ការប្រើ Khmer Unicode បានធ្វើឱ្យការសរសេរភាសាខ្មែរ ក្លាយជារឿងងាយស្រួល និងមានស្តង់ដារតែមួយ ដែលអាចអានបានល្អលើកុំព្យូទ័រនានា និងឧបករណ៍ផ្សេងៗ។ វាជួយឱ្យការស្វែងរកទិន្នន័យ (Search) ក្នុង Google ឬក្នុងឯកសារធ្វើទៅបានយ៉ាងត្រឹមត្រូវបំផុត។

💡 ជំហានដំឡើងដំបូង

ដើម្បីប្រើប្រាស់ Khmer Unicode បានយ៉ាងត្រឹមត្រូវ កុំព្យូទ័រទាំងអស់ត្រូវតែដំឡើងកម្មវិធីជាមុនសិន។ វាអាចប្រើបានទាំងលើប្រព័ន្ធ Windows និង macOS។ បន្ទាប់ពីដំឡើងរួច អ្នកត្រូវបន្ថែម Keyboard Layout ភាសាខ្មែរ ដើម្បីអាចវាយអក្សរបាន។

២. បន្ថែមសម្រស់ឯកសារជាមួយ Font ខ្មែរស្អាតៗ

ក្រៅពី Keyboard Layout អ្នកក៏អាចដំឡើង Font ភាសាខ្មែរ បន្ថែម ដើម្បីឱ្យអក្សរមានរចនាបថស្អាត និងមានជម្រើសច្រើន។ Font ខ្មែរមានសារៈសំខាន់ណាស់ សម្រាប់ការងាររចនា (Design) ការបោះពុម្ព ឬការធ្វើឯកសារដែលត្រូវការរូបរាងស្អាត និងវិជ្ជាជីវៈ។

កញ្ចប់ឯកសារ និងកម្មវិធីចាំបាច់ (Downloads)
📦 កម្មវិធី Khmer Unicode សម្រាប់ Windows ទាញយក
🍎 Keyboard Layout សម្រាប់ macOS ទាញយក
🎨 កញ្ចប់ Font ខ្មែរច្រើនជាង ២០០ ប្រភេទ ទាញយក
📖 សៀវភៅណែនាំ និងរបៀបវាយ (PDF) ទាញយក

៣. សេចក្តីសន្និដ្ឋាន

សរុបមក Khmer Unicode គឺជាឧបករណ៍សំខាន់ណាស់សម្រាប់មនុស្សខ្មែរក្នុងសម័យឌីជីថលនេះ។ វាជួយឱ្យការសរសេរ ការប្រាស្រ័យទាក់ទង និងការងារផ្សេងៗ កាន់តែងាយស្រួល និងមានប្រសិទ្ធភាព។ ប្រសិនបើអ្នកមិនទាន់ដំឡើងនៅលើកុំព្យូទ័ររបស់អ្នកទេ គួរតែចាប់ផ្តើមឥឡូវនេះ ដើម្បីអាចប្រើប្រាស់ភាសាខ្មែរបានយ៉ាងពេញលេញ និងមានស្តង់ដារ។

Post a Comment

/*--[ Custom JS SingleItem (placed above ) ]--*/ /*]]>*//**/ /*{let{B64:l,eReg:n,iAE:a,qSel:o,qSell:$,gId:s,cEl:i,aCl:r,aEL:c,gAb:h,sAb:d,mc:p,pl:u}=e,v=a,f=_.location,g="beforebegin",C="afterend",m="sl_step",b="sl_url",S="sl_end",k={set(e,_,l=10){let n=new Date(Date.now()+6e4*l).toUTCString();t.cookie=`${e}=${_}; expires=${n}; path=/`},get(e){let _=t.cookie.match(RegExp(`(?:^|; )${e}=([^;]*)`));return _?_[1]:null},clear(e){t.cookie=`${e}=; Max-Age=0; path=/`}},L=()=>{k.clear(m),k.clear(b),k.clear(S)};if(u.sl.an&&0!==e.length){let M=$(".safeL");for(let w of M){let y=h(w,"href")||h(w,"data-href")||h(w,"data-link");if(y){let V,T={v:1,u:y};try{let B=JSON.stringify(T);try{V=`${_.location.origin}/#s=${e.B64.O3.e(B)}`}catch(H){console.warn("Safelink: Base64 Encoding Failed:",H)}}catch(z){console.warn("Safelink: JSON Stringify Failed:",z)}V&&("A"===w.nodeName?(d(w,"href",V),d(w,"rel","nofollow noreferrer noopener"),u.sl.aNt&&d(w,"target","_blank")):c(w,"click",e=>{e.preventDefault(),u.sl.aNt?_.open(V,"_blank"):f.href=V}))}}}let N=(e=["url","s","u","o"])=>{let _=RegExp(`[?#](${e.map(e=>n(e)).join("|")})=(.*)`),t=f.search.match(_)||f.hash.match(_);if(!t||!t[1])return null;let a=t[2]?decodeURIComponent(t[2].trim()):null;if(!a)return null;try{let o=l.O3.d(a),$={};try{$=JSON.parse(o)}catch(s){}return{valid:!0,value:o,data:$}}catch(i){return null}},x=(e,_,t="s")=>`${e.split(/[?#]/)[0]}`,E=(e=!0,_=!0)=>{let t="sl_top_section",l="sl_bottom_section",n=s(t),a=s(l),$=[n,a];if(!n||!a){let[r,c]=(()=>{let e=o("#Blog01 .post .pInr");if(e)return[[e,g],[e,C]];let _=s("sec_Horizontal-Ad")||s("Blog01"),t=s("sec_Bottom_Widgets")||o("footer.mainF");return[_?[_,g]:null,t?[t,C]:null]})();!n&&r&&(c||adSection)&&($[0]=i("div",{id:t}),e&&v(r[0],r[1],$[0])),!a&&c&&(r||n)&&($[1]=i("div",{id:l}),_&&v(c[0],c[1],$[1]))}return $},A=e=>{let l="/"===f.pathname||f.pathname.match(/^\/(?:index\.html?|index\.htm)?$/i),n=!!N(),a=N()?.data?.u||k.get(b)||null,$=parseInt(k.get(m))||(l&&n?0:1),s=parseInt(u?.sl?.toSteps||3,10),h=parseInt(u?.sl?.cdS||15,10),v=u?.sl?.sCon||[];if($>s&&(L(),$=1),l){if(n||a){if(!n&&a){L();return}n&&($=0)}else{L();return}}else if(!a)return;let[g,C]=E();if(!a||!g||!C||0===e.length)return;if(!l&&(!a||k.get(b)!==a)){L();return}k.set(m,$),k.set(b,a);let S=()=>e[Math.floor(Math.random()*e.length)],M=()=>{let e=i("div",{className:"slRv",innerHTML:`
`}),l=o("button",e);(g||t.body).appendChild(e),u.sl.autoscroll&&e.scrollIntoView({behavior:"smooth",block:"center"});let n=()=>{r(e,"v"),l.disabled=!0,setTimeout(()=>{e.remove(),$=1,k.set(m,$);let t=S(),l=x(t,{v:1,u:a});_.location.href=l},2e3)};c(l,"click",n)},w=()=>{let e=parseInt(v[$-1]?.duration||h,10),l=$===s,n=l?p.goToLink||"Go to Link":p.continue||"Continue",r=i("div",{className:"slCd"}),f=(p.pleaseWaitNSeconds||"Please wait {seconds} Seconds... (Step {B} of {TOTAL_STEPS})").replace("{seconds}",e).replace("{B}",$).replace("{TOTAL_STEPS}",s),b=i("div",{innerText:f});if(r.appendChild(b),r.style.setProperty("--total",`${e}s`),(g||t.body).appendChild(r),u.sl.autoscroll&&setTimeout(()=>{r.scrollIntoView({behavior:"smooth",block:"center"})},50),r.__safelink_timer_started)return;r.__safelink_timer_started=!0;let M=()=>{b.innerText=p.generatingLink||"Generating link...",setTimeout(()=>{try{r.remove()}catch(e){}let h=i("div",{className:"slSd",innerHTML:`${p.safelinkScrollDownMessage.replace("{button_text}",n)} `}),v=o("button",h);(g||t.body).appendChild(h),u.sl.autoscroll&&h.scrollIntoView({behavior:"smooth",block:"center"}),c(v,"click",()=>{try{h.querySelector("button").remove()}catch(e){}let o=i("div",{className:"slGl"}),r=t.createElement("a");r.className="button",r.rel="nofollow noreferrer noopener";let p=l?a:x(S(),{v:1,u:a});r.href=p,r.innerHTML=`${n} `,u&&u.sl&&u.sl.aNt&&d(r,"target","_blank"),o.appendChild(r);let v=i("span",{className:"NextInfo",innerText:`Step ${$} of ${s}`});o.appendChild(v),(C||t.body).appendChild(o),u.sl.autoscroll&&r.scrollIntoView({behavior:"smooth",block:"center"}),c(r,"click",e=>{e.preventDefault(),l?(L(),_.location.href=p):($++,k.set(m,$),_.location.href=p)})})},1e3)},w=e,y=null,V=()=>{let e=(p.pleaseWaitNSeconds||"Please wait {seconds} Seconds... (Step {B} of {TOTAL_STEPS})").replace("{seconds}",w).replace("{B}",$).replace("{TOTAL_STEPS}",s);b.innerText=e},T=()=>{w--,V(),w<=0&&(H(),t.removeEventListener("visibilitychange",z),M())},B=()=>{y||(y=setInterval(T,1e3))},H=()=>{clearInterval(y),y=null},z=()=>{t.hidden?H():B()},N=()=>{V(),t.addEventListener("visibilitychange",z),t.hidden||B()};"complete"===t.readyState?N():c(_.addEventListener?_:"load","load",N)};if(l)0===$&&M();else if($>=1&&$<=s)w();else{L();let y=x(_.location.origin+"/",{v:1,u:a});_.location.href=y}},F=e=>{var _,l;return l=e.replace(/(^\w+:|^)/,""),new URL(l,t.baseURI)},I=(u.sl.pg||[]).map(_=>new URL(_,e.bg.cnHmU).href);e.iBF?e.iBF().then(async _=>{let t=u.sl.pg.map(_=>new URL(_,e.bg.cnHmU).href),l=[];try{let n=new _(F(e.bg.cnHmU)),[a,o]=await Promise.all([n.posts.list(),n.pages.list()]);a&&a.length>0&&(l=l.concat(a.map(e=>e.url))),o&&o.length>0&&(l=l.concat(o.map(e=>e.url))),0===l.length&&(l=t)}catch($){console.warn("Safelink: Failed to fetch recent posts/pages, falling back to manual config.",$),l=t}A(l)}).catch(e=>{console.warn("Safelink: e.iBF() failed, falling back to manual config.",e),A(I)}):A(I)})(PU,window,document); /*]]>*/