我有类似的东西
a = "?????? ???? ??? ??"
Run Code Online (Sandbox Code Playgroud)
我希望实现类似的目标
a[0] = ??
a[1] = ???
a[3] = ?
Run Code Online (Sandbox Code Playgroud)
但由于म占用4个字节,而बि占用8个字节,我无法直接进行.那么可以做些什么呢?在Python中.
我们有一个小型的网络应用程序,我们想要转换成原生的东西.现在,它有很多移动部件(后端,浏览器等),我们想把它转换成一个紧凑的应用程序.我们决定使用PyGame来做到这一点,除了字体渲染问题之外它一直很好.
具体的代码点是\ u0915\u094b\u091d\u093f\u0915\u094b和\ u0921
现在,这在我的编辑器和浏览器中看起来很好但是当我尝试在PyGame中渲染时,我得到了这个
.基本上,元音符号(\ u093fÇ)应该位于left的左侧,但它看起来在它的右侧(并且在क的左侧),从而完全弄乱了它.这不会发生在浏览器或文本编辑器(具有相同的输入字符串)中,因此我猜测它是PyGame中的渲染器问题.
有一个原始修复只适用于这种特殊情况,即将Ç(\ u093f)置于झ(\ u091d)之前.在这种情况下,它会像这样正确呈现
.这依赖于我对语言的了解并将该逻辑放入代码中.我必须在这里处理多种语言,所以这不可行.
我对unicode没有太多经验,所以我不知道如何解决这个问题.有什么我可以做的来解决这个问题吗?
如果它很重要,我正在使用Debian上的freesans字体,并且它具有必要的字形来呈现它.
更新: 实际呈现此代码的代码如下
# -*- coding: utf-8 -*-
import time
import pygame
# Pygame setup and create root window
pygame.font.init()
screen = pygame.display.set_mode((320, 200))
empty = pygame.Surface((320, 200))
font_file = pygame.font.match_font("freesans") # Select and
font = pygame.font.Font(font_file, 30) # open the font
writing = font.render(u"??????? ???????", True, (0, 0, 0)) # Render text on a surface
screen.fill((255, 255, 255)) # Clear the background
screen.blit(writing, …Run Code Online (Sandbox Code Playgroud) 我正在尝试对梵文词进行音节化
धर्मक्षेत्रे - >धर्मक्षेत्रेdharmakeshetre - > DHAR麦SHET重
wd.split('?')
Run Code Online (Sandbox Code Playgroud)
我得到的结果如下:
['??', '??', '???', '??']
Run Code Online (Sandbox Code Playgroud)
哪个部分正确
我尝试另一个词कुरुक्षेत्र - >कुरुक्षेत्रेkurukshetre - >区鲁格她唱到tre
['?????', '???', '??']
Run Code Online (Sandbox Code Playgroud)
结果显然是错误的.
如何有效地提取音节?
我正在尝试使用 Overleaf 在 LaTeX 中键入天城文脚本。但是我遇到了一些格式错误。“matras”没有反映在输出的梵文文本中。
\usepackage{devanagari}
{\dn karma}
Run Code Online (Sandbox Code Playgroud)
输出如下:

但应该是
