2016-09-17 3 views
0

텍스트 위젯에 표준 그루지야 어 언어로 쓸 수 없습니다. 글자 대신에 물음표를 씁니다. tkinter가 없을 때, 즉 코드를 작성할 때 Georgian 글꼴이 문제없이 인식됩니다. 또한 그루지야 어로 쓰여지고 텍스트 위젯에 삽입 된 단어를 복사하면 올바르게 표시됩니다.tkinter에있는 그루지야 어. Python

이 텍스트는 화면에 텍스트 상자를 표시하는 기본 코드로, 그루지야 어로 단어를 쓰고 싶습니다.

import tkinter 


root = tkinter.Tk() 

txt = tkinter.Text(root) 
txt.pack() 

root.mainloop() 

the first image shows how the word is displayed when the selected Georgian language.

the second shot, when I write in the code in Georgian, and define in advance the value of text field. in this case, the text in the field is displayed normally.

답변

0

좋아, 그래서 여기에 내가 그것을 달성하는 방법입니다
당신이 당신의 컴퓨터에 설치된 그루지야 글꼴이 있는지 확인, 우선; 아무 것도 없다면 다운로드 한 파일을 다운로드하십시오 (나는 here에서 내 파일을 다운로드했습니다).
지금, 당신의 Tkinter 프로그램으로 이동하여 Text 위젯에 글꼴을 추가 :

txt = tkinter.Text(root, font=("AcadNusx", 16)) 

주 1 : 그루지야 AcadNusx입니다 지원 내 글꼴 이름,하지만 당신은 다를 수 있습니다;
참고 2 : 글꼴을 가져 오지 않은 경우 프로그램 시작 부분에서 글꼴을 가져 오십시오.
참고 3 : 컴퓨터의 글꼴을 이미 그 프로그램에서 변경 했으므로 Georgian으로 변경하지 마십시오. 영어로 설정되어 있는지 확인하십시오.

+0

불행히도 해결책이 아닙니다. 'AcadNusx'및 기타 글꼴, 시스템 글꼴이 아닙니다. Windows의 설치 패키지에는 포함되어 있지 않습니다. 조지아에서는 거의 모든 사람들이 자신들에 대해 잊어 버렸고 심지어 그러한 경우에도 동일한 영어 텍스트를 입력하는 것은 불가능합니다. 적절하다면, 예. 자동차 번호판 등의 경우에는이 버전을 사용해 보았습니다. 쉽지만 프로그램이 꽉 차는 것은 아닙니다. 나는 위젯의 글꼴을 변경하는 언어 전환을 시도했지만,이 경우에는 해결책이 아닌 위젯의 모든 텍스트를 변경합니다. –

+0

시스템 글꼴이 아니라는 것은 무엇을 의미합니까? 이미 소스에서 글꼴을 다운로드하여 내 컴퓨터에 설치했다고 언급했습니다. 물론, Windows OS에 내장 된 내장 글꼴이 아닙니다. 그러나 아직 시스템에없는 글꼴을 설치할 수 있습니다. –

+0

영어 글자를 그루지야 어로 번역하는 코드를 작성했습니다. 위젯 'Entry'에서는 다소 정상적으로 작동하지만 위젯 'Text'에서는 속도가 느리고 나 이후에 문자를 번역 할 시간이 없습니다. 즉 느리게 실행됩니다. 하지만 여전히 다른 위젯에 대한 스크립트는 서로 다른 특성을 가지고 있기 때문에 다른 방식으로 작성되었습니다. 하지만 다시 그루지야 어에서 라틴 문자를 사용하는 스크립트를 작성하는 것은 사실 해결책이 아닙니다. 어떤 출구가 있어야하고, 코딩과 함께있을 수도 있고, 뭔가있을 수도 있습니다. –

0

내가 지금까지 확인할 수있는 가장 좋은 대답은 tk가 싫어하는 그루지야 어 및 키보드 입력에 관한 것입니다. 적어도 Windows에서는 그렇지 않습니다.

문자 '번역'은 일반적으로 '음역'이라고합니다.

Tk 텍스트는 유니 코드의 Basic Multilingual Plane (BMP, 처음 2 ** 16 코드 포인트)을 사용합니다. 여기에는 그루지야 알파벳이 포함됩니다. 두 번째 이미지는 시스템의 기본 텍스트 위젯 글꼴이 그루지야 문자 인 을 한번 표시 할 수 있다는 것을 보여줍니다. 문자가 위젯에있는 경우입니다. 따라서 새로운 디스플레이 글꼴은 문제의 해결책으로 보이지 않습니다. FF가 유니 코드 기반이므로 모든 BMP를 표시 할 수 있기 때문에 ('ქართული ენა'은 Firefox에서 볼 수 있습니다.)

편집기를 거치지 않고 tk에 적절한 코드가 표시되는 것 같습니다. 어떤 OS와 편집기를 사용하고 있습니까? 당신은 어떻게

txt.insert('1.0', 'ქართული ენა') # ? (I cannot copy the image string.) 

어떻게 파이썬 코드를 실행하는 유사한 혼합 알파벳 줄을 입력 했습니까? 첫 번째 이미지에서 물음표를 자르고 삽입하면

for c in '<insert here>': print(ord(c)) 

무엇이 표시됩니까?

키보드를 읽는 모든 프로그램에 ASCII 코드와 Geargian 코드를 전송하는 것을 앞뒤로 전환 할 수있게 해주는 '그루지야 키보드 입력'또는 '입력 방법'프로그램 (Google에서 여러 가지를 보여줍니다)이 필요합니다.

이제 Windows에는 사례별로 활성화되는 언어가 함께 제공됩니다.스페인 엔트리가 이미 있었고 여기에 á와 ñ를 입력하여 IDLE과 새로운 텍스트 상자에 넣을 수 있습니다. 그러나, 그루지야 어를 추가 할 때, 여기에 (무작위로 ;-) ჰჯჰფგეუგს ((FireFox에서도, MS Edge에서도) 입력 할 수 있지만 ?????? 텍스트 상자에. 그리고 이들은 실제 ascii 물음표, ord ('?') = 63 대신 표현할 수없는 코드의 대체 코드입니다. 일본어는 tk-Text 기반 IDLE에서도 작동합니다. 그래서 그루지야 어 문제는 모든 비 라틴어 알파벳에 대한 일반적인 것이 아닙니다.