我正在寻找一个相当棘手的(对我来说)SELECT语句,它将从语言定义数据库计算字体文件的所有支持的语言。你知道吗
字体的unicodes存储在“unicodes”列表中(我们使用的是Python)。 language DB有两列,一列带有语言名称,另一列带有整数形式的unicode,如下所示:
(language) - (unicode)
English - 97 #a
English - 98 #b
English - 99 #c
German - 97 #a
German - 98 #b
German - 99 #c
German - 228 #ä
我当前的SQL语句如下:
"SELECT DISTINCT language FROM languagedefinitions WHERE unicode = %s;" % (' OR unicode = '.join(map(str, unicodes())))
问题是,这将输出字体部分支持的所有语言。有Unicodes97-99的字体将同时输出英语和德语,而德语所需的unicode(228)在字体中丢失。你知道吗
我需要的只是那些完全受字体支持的语言,例如,一种语言的所有Unicode都出现在字体中。 如果字体中缺少一种语言的一个或多个Unicode(示例中为228),德语将不会出现。你知道吗
谢谢你!你知道吗
NorthCat的纯SQL子查询解决方案可以工作,但比使用集合(0.0004s)的Python迭代实现要长得多(0.05秒):
可以使用子查询。通过子查询,我们选择字体中不包含Unicode的语言:
然后选择子查询中未选择的所有语言。因此,完整查询将如下所示:
相关问题 更多 >
编程相关推荐