परिचय
यह कुछ हद तक DVORAK कीबोर्ड लेआउट जैसा है , लेकिन बहुत कठिन है।
पहले कोरियाई कीबोर्ड के बारे में बात करते हैं। जैसा कि आप विकिपीडिया में देख सकते हैं , कोरियाई और अंग्रेजी कुंजी सेटों के बीच बदलने के लिए एक कोर / Eng कुंजी है।
कोरियाई कभी-कभी गलत लिखते हैं: वे कोरियाई में क्वेर्टी कीबोर्ड या अंग्रेजी में दो-सेट कीबोर्ड पर लिखने का प्रयास करते हैं।
तो, यहां समस्या यह है: यदि दो-सेट कीबोर्ड में टाइप किए गए कोरियाई वर्ण दिए गए हैं, तो इसे qwerk कीबोर्ड में टाइप किए गए वर्णमाला वर्णों में बदलें। यदि Qwerty में टाइप किए गए वर्णमाला वर्ण दिए गए हैं, तो इसे दो-सेट कीबोर्ड में बदल दें।
दो-सेट कीबोर्ड
यहाँ दो-सेट कीबोर्ड लेआउट है:
ㅂㅈㄷㄱㅅㅛㅕㅑㅐㅔ
ㅁㄴㅇㄹㅎㅗㅓㅏㅣ
ㅋㅌㅊㅍㅠㅜㅡ
और शिफ्ट की के साथ:
ㅃㅉㄸㄲㅆㅛㅕㅑㅒㅖ
सिर्फ शीर्ष पंक्ति बदलती है जबकि अन्य नहीं।
कोरियाई वर्ण के बारे में
यदि यह यहाँ समाप्त होता है, तो यह आसान हो सकता है, लेकिन नहीं। जब आप टाइप करें
dkssud, tprP!
आउटपुट इस तरह से नहीं दिखाया गया है:
ㅇㅏㄴㄴㅕㅇ, ㅅㅔㄱㅖ!
लेकिन इस तरह से:
안녕, 세계!(means Hello, World!)
और यह चीजों को बहुत कठिन बना देता है।
कोरियाई वर्ण तीन भागों में अलग हो जाते हैं: 'चोसोंग (व्यंजन)', 'जुंगसॉन्ग (स्वर)', और 'जोंगसेओंग (शब्दांश के अंत में व्यंजन: रिक्त हो सकता है)', और आपको इसे अलग करना होगा।
सौभाग्य से, ऐसा करने का एक तरीका है।
कैसे अलग करें?
19 चोसॉन्ग, 21 जुंगसेओंग, और 28 जोंगसेओंग (रिक्त के साथ) हैं, और 0xAC00 '00' है, जो कोरियाई पात्रों का पहला चरित्र है। इसका उपयोग करके, हम कोरियाई वर्णों को तीन भागों में अलग कर सकते हैं। यहां दो-सेट कीबोर्ड में प्रत्येक की स्थिति और उसका क्रम दिया गया है।
चुना आदेश:
ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ
r R s e E f a q Q t T d w W c z x v g
jungseong आदेश:
ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ
k o i O j p u P h hk ho hl y n nj np nl b m ml l
जोंगसेग आदेश:
()ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ
()r R rt s sw sg e f fr fa fq ft fx fv fg a q qt t T d w c z x v g
आइए कहना (unicode value of some character) - 0xAC00
है Korean_code
, और चोज़ियांग, जंगसिओंग के सूचकांक, Jongseong है Cho
, Jung
, Jong
।
फिर, Korean_code
है(Cho * 21 * 28) + Jung * 28 + Jong
यहाँ जावास्क्रिप्ट कोड है जो आपकी सुविधा के लिए , इस कोरियाई वेबसाइट से कोरियाई चरित्र को अलग करता है ।
var rCho = [ "ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ", "ㄹ", "ㅁ", "ㅂ", "ㅃ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅉ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ" ];
var rJung =[ "ㅏ", "ㅐ", "ㅑ", "ㅒ", "ㅓ", "ㅔ", "ㅕ", "ㅖ", "ㅗ", "ㅘ", "ㅙ", "ㅚ", "ㅛ", "ㅜ", "ㅝ", "ㅞ", "ㅟ", "ㅠ", "ㅡ", "ㅢ", "ㅣ" ];
var rJong = [ "", "ㄱ", "ㄲ", "ㄳ", "ㄴ", "ㄵ", "ㄶ", "ㄷ", "ㄹ", "ㄺ", "ㄻ", "ㄼ", "ㄽ", "ㄾ","ㄿ", "ㅀ", "ㅁ", "ㅂ", "ㅄ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ" ];
var cho, jung, jong;
var sTest = "탱";
var nTmp = sTest.charCodeAt(0) - 0xAC00;
jong = nTmp % 28; // Jeongseong
jung = ((nTmp - jong) / 28 ) % 21 // Jungseong
cho = ( ( (nTmp - jong) / 28 ) - jung ) / 21 // Choseong
alert("Choseong:" + rCho[cho] + "\n" + "Jungseong:" + rJung[jung] + "\n" + "Jongseong:" + rJong[jong]);
जब इकट्ठे हुए
- ध्यान दें कि
ㅘ
,ㅙ
,ㅚ
,ㅝ
,ㅞ
,ㅟ
,ㅢ
अन्य jungseongs का एक संयोजन है।
ㅗ+ㅏ=ㅘ, ㅗ+ㅐ=ㅙ, ㅗ+ㅣ=ㅚ, ㅜ+ㅓ=ㅝ, ㅜ+ㅔ=ㅞ, ㅜ+ㅣ=ㅟ, ㅡ+ㅣ=ㅢ
- चोसांग आवश्यक है। इसका मतलब है, अगर
frk
दिया गया है, जो हैㄹㄱㅏ
, तो यह दो तरह से बदल सकता है:ㄺㅏ
औरㄹ가
। फिर, आपको इसे एक ऐसे तरीके में बदलना होगा जो चुना गया है। यदिjjjrjr
दिया गया है, जो किㅓㅓㅓㄱㅓㄱ
अग्रणी है ,ㅓ
तो ऐसा कुछ भी नहीं है जिसे चुना जा सके, लेकिन चौथाㅓ
हैㄱ
जिसे चुना जा सकता है, इसलिए इसे बदल दिया जाता हैㅓㅓㅓ걱
।
एक और उदाहरण: 세계
( tprP
)। इसे 섹ㅖ
( (ㅅㅔㄱ)(ㅖ)
) में बदला जा सकता है , लेकिन क्योंकि चुना जाना आवश्यक है, इसे 세계
( (ㅅㅔ)(ㄱㅖ)
) में बदल दिया गया है
उदाहरण
इनपुट 1
안녕하세요
आउटपुट 1
dkssudgktpdy
इनपुट २
input 2
आउटपुट 2
ㅑㅞㅕㅅ 2
इनपुट 3
힘ㄴㄴ
आउटपुट 3
glass
इनपुट 4
아희(Aheui) is esolang which you can program with pure Korean characters.
आउटपुट 4
dkgml(모뎌ㅑ) ㅑㄴ ㄷ내ㅣ뭏 조ㅑ초 ㅛㅐㅕ ㅊ무 ㅔ갷ㄱ므 쟈소 ㅔㅕㄱㄷ ㅏㅐㄱㄷ무 촘ㄱㅁㅊㅅㄷㄱㄴ.
इनपुट 5
dkssud, tprP!
आउटपुट 5
안녕, 세계!
इनपुट 6
ㅗ디ㅣㅐ, 째깅! Hello, World!
आउटपुट 6
hello, World! ㅗ디ㅣㅐ, 째깅!
सबसे छोटा कोड जीतता है। (बाइट्स में)
आपकी सुविधा के लिए नया नियम
आप उन पात्रों को खारिज कर सकते हैं जैसे A
दो-सेट कीबोर्ड में इसका समकक्ष नहीं है। इतना Aheui
करने के लिए Aㅗ뎌ㅑ
ठीक है। लेकिन, अगर आप बदल Aheui
जाते हैं 모뎌ㅑ
, तो आप -5 अंक प्राप्त कर सकते हैं, इसलिए आप 5 बाइट कमा सकते हैं।
आप दो jungseongs (जैसे ) ㅘ
को अलग कर सकते हैं ㅗ+ㅏ
। की तरह rhk
करने के लिए 고ㅏ
, या how
करने के लिए ㅗㅐㅈ
। लेकिन अगर आप (जैसे कि यह गठबंधन rhk
करने के लिए 과
या how
करने के लिए ㅙㅈ
), तो आपको अतिरिक्त -5 अंक अर्जित कर सकते हैं।
fjfau
रूप में व्याख्या की जा सकती है 럶ㅕ
या 럴며
। हम इसका समाधान कैसे करेंगे?
tprP
परीक्षण के मामले में 5 के रूप में: यह में बदल जाता है ㅅㅔㄱㅖ
, जहां ㅅ
एक चुना है, ㅔ
एक जंगला है और ㄱ
एक जंगल है। तो क्या इसे 섷ㅖ
(जैसे समूहीकृत (ㅅㅔㄱ)(ㅖ)
) के बजाय 세계
(समूहबद्ध ) में तब्दील नहीं किया जाना चाहिए (ㅅㅔ)(ㄱㅖ)
? पहले की टिप्पणी में आप कहते हैं कि यह टाइप करके व्याख्या है, इसलिए मैं इसे ㅅㅔㄱ
बदलने की उम्मीद करूंगा 섷
। या कोरियाई टाइपिंग बाएं से दाएं की बजाय दाएं से बाएं ओर है?
l
बाद लापता होने लगता है ।ml
ㅣ