DearByGui и латышские символы
Не могу “заставить” DearPyGUI принимать в add_input_text латышские символы.
with dpg.font_registry():
with dpg.font(f'C:/Windows/Fonts/Arial.ttf', 15, default_font=True, id="Default font"):
dpg.add_font_range_hint(dpg.mvFontRangeHint_Default)
dpg.add_font_range(0x100, 0x17E)
dpg.add_font_chars([0x0100,0x0101,
0x010C,0x010D,
0x0112,0x0113,
0x0122,0x0123,
0x012A,0x012B,
0x0136,0x0137,
0x013B,0x013C,
0x0145,0x0146,
0x0160,0x0161,
0x016A,0x016B,
0x017D,0x017E,
])
dpg.add_char_remap(...................)
dpg.bind_font("default_font")
Диапазон uni-кодов указал; сами символы указал. Далее следует использовать add_char_remap, но вот что на что менять понятия не имею. Буду признателен за помощь.
Ответы (1 шт):
Автор решения: Dva2lin
→ Ссылка
Задачу решил “в лоб”.
Получилось, наверное, не совсем элегантно, но работает.
Клавиатура в режиме LV
. При нажатом правом Alt-е нажимал нужную мне клавишу. Получал изображение некоего символа, искал его в таблице unicodе-ов и заменял на нужный мне.
получилось вот такое:
dpg.add_font_chars([0x100,0x101, # Ā ā
0x10C,0x10D, # Č č
0x112,0x113, # Ē ē
0x122,0x123, # Ģ ģ
0x12A,0x12B, # Ī ī
0x136,0x137, # Ķ ķ
0x13B,0x13C, # Ļ ļ
0x145,0x146, # Ņ ņ
0x160,0x161, # Š š
0x16A,0x16B, # Ū ū
0x17D,0x17E, # Ž ž
])
dpg.add_char_remap(0x00C2, 0x0100) # Ā
dpg.add_char_remap(0x00E2, 0x0101) # ā
dpg.add_char_remap(0x00C8, 0x010C) # Č
dpg.add_char_remap(0x00E8, 0x010D) # č
dpg.add_char_remap(0x00C7, 0x0112) # Ē
dpg.add_char_remap(0x00E7, 0x0101) # ē
dpg.add_char_remap(0x00CC, 0x0122) # Ģ
dpg.add_char_remap(0x00EC, 0x0123) # ģ
dpg.add_char_remap(0x00CE, 0x012A) # Ī
dpg.add_char_remap(0x00EE, 0x012B) # ī
dpg.add_char_remap(0x00CD, 0x0136) # Ķ
dpg.add_char_remap(0x00ED, 0x0137) # ķ
dpg.add_char_remap(0x00CF, 0x013B) # Ļ
dpg.add_char_remap(0x00EF, 0x013C) # ļ
dpg.add_char_remap(0x00D2, 0x0145) # Ņ
dpg.add_char_remap(0x00F2, 0x0146) # ņ
dpg.add_char_remap(0x00D0, 0x0160) # Š
dpg.add_char_remap(0x00F0, 0x0161) # š
dpg.add_char_remap(0x00DB, 0x016A) # Ū
dpg.add_char_remap(0x00FB, 0x016B) # ū
dpg.add_char_remap(0x00DE, 0x017D) # Ž
dpg.add_char_remap(0x00FE, 0x017E) # ž