Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在windows上翻转的Unicode字符“⌙”(U+2319)

在windows上翻转的Unicode字符“⌙”(U+2319)
EN

Stack Overflow用户
提问于 2021-10-27 00:03:26
回答 1查看 41关注 0票数 0

在我的网站上,我有一个使用"⌙“字符作为内容的::after css伪元素:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.tags_checks label::after{
content:"⌙"
}

现在它在mac chrome上运行得很好。但是当它显示在windows chrome上时,它是水平翻转的(就像在源代码中一样):

Mac (Chrome DevTools):

Windows (Chrome DevTools):

为什么会这样?我怎样才能让它同时在mac和windows上运行?

EN

回答 1

Stack Overflow用户

发布于 2021-10-27 03:41:58

我写了一个Python脚本用于测试,结果如下(Windows10上的FontGlyphsHtml.py 0x2319,默认浏览器Chrome)

脚本(在注释中有部分文档):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import unicodedata
import sys
import os
from fontTools.ttLib import TTFont, TTCollection

def char_in_font(unicode_char, font):
  for cmap in font['cmap'].tables:
    if cmap.isUnicode() or cmap.getEncoding() == 'utf_16_be':
      if ord(unicode_char) in cmap.cmap:
        auxcn =  cmap.cmap[ord(unicode_char)]
        return auxcn if auxcn != '' else '<nil>'
  return ''

def checkfont(char,font,fontdict,fontpath):
    nameID_index = 1          # works generally (not always)
    for i,f in enumerate(font['name'].names):
        # An Introduction to TrueType Fonts: A look inside the TTF format
        # https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=IWS-Chapter08
        # 1 = Font Family name, 2 = Font SubFamily name, 4 = Full font name
        if f.nameID == 1:
            nameID_index = i
            break
    fontname = font['name'].names[nameID_index].toStr()
    if fontname not in fontdict.keys():
        aux = char_in_font(char, font)
        if aux != '':
          fontdict[fontname] = "{} ({}) {}     [{}] '{}'".format(
            char,
            '0x{:04x}'.format(ord(char)),
            unicodedata.name(char, '???'),
            aux,
            fontname
            )

def testfont(char):
    fontdict = {}
    for fontpath in fontsPaths:
        font = TTFont(fontpath)   # specify the path to the font
        checkfont(char,font,fontdict,fontpath)
    for fontpath in fontcPaths:   # specify the path to the font collection
        fonts = TTCollection(fontpath)
        for ii in range(len(fonts)):
          font = TTFont(fontpath, fontNumber=ii)   # fontfile and index 
          checkfont(char,font,fontdict,fontpath)
    return fontdict

def testprint(char):
    chardesc = '0x{:04x}'.format(ord(char)), unicodedata.name(char, '???')
    charline = '{}  {}  '.format( char, chardesc)
    print('')        # empty line for better readability
    print(charline)
    outfile.write('\n' + htmchar.format(char, chardesc) + '\n')
    fontarray = testfont(char)
    for x in fontarray.keys():
        print(fontarray[x])
        outfile.write(htmline.format(x, fontarray[x]) + '\n')
            
### if __name__ == '__main__':
fontsPaths = []
fontcPaths = []
fontsdirs = [ os.path.join( os.getenv('SystemRoot'), 'Fonts')
              , r"D:\Downloads\MathJax-TeX-fonts-otf"
              , r"D:\Downloads\Fonty"
              # , r"D:\Downloads\Fonty\KrutiDev010\k010"
              # , os.path.join( os.getenv('LOCALAPPDATA'), r'Microsoft\Windows\Fonts')
              # , os.path.join( os.getenv('ProgramFiles'), r'WindowsApps\Microsoft.WindowsTerminal_1.4.3243.0_x64__8wekyb3d8bbwe')
            ]
print(fontsdirs, file=sys.stderr)
for fontsdir in fontsdirs:
    for root,dirs,files in os.walk( fontsdir ):
      for file in files:
        if file.endswith(".ttf") or file.endswith(".otf") or file.endswith(".ttc"):
          tfile = os.path.join(root,file)
          if file.endswith(".ttc"):
            fontcPaths.append(tfile)
          else:
            fontsPaths.append(tfile)

htmfile = 'CharGlyphs.html'                                   ### ### ### ###
htmpref = '''
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="{}"><title></title>
</head><body>
'''.format(os.path.basename(__file__))
htmchar = '<BR>{} <font color="Red">{}</font><BR>' # line
# htmchar = '<BR>{}<BR>'                           # line
htmline = '<font face="{}">{}</font><BR>'          # font, line
htmsuff = '</body></html>'

outfile = open(htmfile, 'w', encoding='utf-8')
outfile.write(htmpref + '\n')

if len(sys.argv) == 1:
    testprint(u"अ")      # अ  0x0905  Devanagari Letter A
    # testprint(u"")   #  0x1f63a  SMILING CAT FACE WITH OPEN MOUTH
    # testprint(u"")   #  0x1f408  CAT
    # surprising results (characters from the `Private Use` area)
    # testprint("\uf0a3")#   0xf0a3  ???
    # testprint("\uf098")#   0xf098  ???
    # testprint("\uEE79\uED5F") # [uniEE79] 'Segoe MDL2 Assets'
else:
    for i in range( 1, len(sys.argv) ):
        if len(sys.argv[i]) >=2:
          try:
            chars =  chr(int(sys.argv[i]))      # 0x042F or 1071
          except:
            try:
              chars =  chr(int(sys.argv[i],16)) # 042F
            except:
              chars = (sys.argv[i].
                encode('raw_unicode_escape').
                decode('unicode_escape'))       # ➕\U00010A30\u042F\xFE
        else:
            chars = sys.argv[i]                 # Я (Cyrillic Capital Letter Ya)
        for char in chars:
            testprint(char)

outfile.write(htmsuff)
outfile.close()
os.startfile(htmfile)

您可以对自己进行全部签名测试,而不是对摘自UnicodeData.Txt的进行签名。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Char CodePoint Category       Description
---- --------- --------       -----------
   ¬ U+00AC    Sm-MathSymbol  Not Sign
   ⌐ U+2310    So-OtherSymbol Reversed Not Sign
   ⌙ U+2319    So-OtherSymbol Turned Not Sign
   ⫬ U+2AEC    Sm-MathSymbol  Double Stroke Not Sign
   ⫭ U+2AED    Sm-MathSymbol  Reversed Double Stroke Not Sign
   ¬ U+FFE2    Sm-MathSymbol  Fullwidth Not Sign
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69734914

复制
相关文章
select2的使用
你必须在其它地方能获取到这个select标签,所以要为其设置id、class或者是name以便能得到这个标签。multiple属性是是否可以多选。option是下拉框中多选的内容。例如在angluar中,使用ng-repeat循环出来值xxx,然后放在option中供select使用。
晓果冻
2022/06/17
1.5K0
ui-select官方教程(二)——ui-select指令
ui-select指令 ui-select的指令和事件 属性 选项 描述 值 默认值 multiple 多选,直接加上multiple属性 close-on-select 在多选情况下,选中一项,就关闭下拉项 boolean true append-to-body 在多选情况下,选中项追加显示 boolean false ng-disabled 控件被禁用 boolean true ng-model 控件绑定对象 String,number,array undefined search-enabled
逝兮诚
2019/10/30
2.7K0
select2的搜索框不能输入搜索内容
按照select2官网配置完后,搜索框弹出后无法输入内容,究竟怎么回事,于是在其他页面尝试了select2,发现可以啊,为什么在这个地方不可以,终于找到了造成这个问题的不同之处:select2在模态对话框中会失效。找到了问题所在,但不知道如何解决:百度或者google,最终找到了解决方案:
johnhuster的分享
2022/03/29
1.4K0
在 Discourse 中如何使用输入对话框
如下图显示的内容,可以在输入框中输入文本,然后在主题中可以根据你输入的文本重新生成字符串:
HoneyMoose
2021/09/08
2.2K0
在 Discourse 中如何使用输入对话框
在Ubuntu 20.04中禁用motd欢迎消息
本篇文章重点讲解一下在Ubuntu 20.04中禁用motd欢迎消息具体方法,有需要的小伙伴可以参考一下。
会长君
2023/04/25
2.6K0
禁止在input中输入中文
提示:设置ime-mode为disabled的意思是禁止在输入时禁止用户激活输入中文,韩文,日文等的输入法(IME)状态,因为这个只能检测到键盘的输入,对通过鼠标操作的粘贴和拖放无效。
崔笑颜
2020/06/08
4K0
win禁用shift切换输入法
在很多场景下,我们都会使用到shift来完成一些功能,最常见的就是输出键盘上面一排标点符号,但是往往在使用shift时会出现切换输入法的情况,在一些仅英文或者中文输入的场合切换会对工作效率造成影响,这里介绍禁用shift切换输入法的方法,仅仅采用ctrl+空格的方式完成切换输入法。
timerring
2022/09/21
6K0
win禁用shift切换输入法
select2无法输入搜索和宽度问题解决
这时候select2的搜索框无法输入,一般有两方面的原因 1.检查下modal的div中是否有tabindex=”-1”,这个属性
botkenni
2019/09/02
1.7K0
select2无法输入搜索和宽度问题解决
yii2使用select2
Text-to-speech function is limited to 200 characters
botkenni
2019/09/02
8990
yii2使用select2
select2 使用教程(简)「建议收藏」
用了这么久的Select2插件,也该写篇文章总结总结。当初感觉Select2不是特别好用,但又找不到比它更好的下拉框插件。
全栈程序员站长
2022/09/12
25.1K0
select2 使用教程(简)「建议收藏」
在python中实现密文输入
本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/input-password-in-python/
羽翰尘
2019/11/21
1.8K0
【DB笔试面试727】在Oracle中,如何禁用HAIP?
说明,ora.cluster_interconnect.haip的ENABLED属性的原始值为1:
AiDBA宝典
2020/01/20
1.8K0
如何使用 Selenium 在 HTML 文本输入中模拟按 Enter 键?
Selenium是 Python 中可用的内置模块,允许用户制作自动化套件和测试。我们可以使用 selenium 构建代码或脚本以在 Web 浏览器中自动执行任务。Selenium 用于通过自动化测试软件。此外,程序员可以使用 selenium 为软件或应用程序创建自动化测试用例。
海拥
2021/12/20
8.4K0
在 Vue 中创建自定义输入
基于组件的库或框架(如 Vue )可以创建 可重用组件 ,它能在各自应用程序中相互传递数据,这些框架能确保这些数据是一致的,并且(希望)简化了它们的使用方式。
疯狂的技术宅
2019/03/28
6.5K0
Python 教程之输入输出(1)—— 在 Python 中接受输入
开发人员经常需要与用户交互,以获取数据或提供某种结果。今天的大多数程序都使用对话框来要求用户提供某种类型的输入。而 Python 为我们提供了两个内置函数来读取键盘输入。
海拥
2022/09/16
1.7K0
Python 教程之输入输出(1)—— 在 Python 中接受输入
在评论输入框中插入表情
最近在做一个后台管理系统,要求可以对前台用户的作品进行评论,而评论要可以输入表情,常规的文字输入框都是用的文本域textarea来做的,但这种输入框只能输入文字,没有办法输入表情图标,这个时候可编辑div就能起到作用了,那么如何在可编辑的div中插入表情呢?
越陌度阡
2020/11/26
4.1K0
初次使用AngularJS中的ng-view,路由控制
AngularJS中的route可以控制页面元素的改变,使多页面变成一个单页面 第一步:引入必要的js: <script src="js/lib/angular.js"></script> <script src="js/lib/angular-animate.min.js"></script> <script src="js/lib/angular-route.min.js"></script> <script src="app.js"></script> 第二步:准备好一个单页: <body ng-a
Ryan-Miao
2018/03/13
1.6K0
在文件中输入字符串HelloWord
Our life today is three years ago, our life three years later is today's choice.
小Bob来啦
2020/12/15
2.5K0
在文件中输入字符串HelloWord
点击加载更多

相似问题

使用Select2禁用用于自动完成的输入

12

在更新来自ng重复的ng禁用输入时停止ng模型

20

ng-禁用所有输入元素

10

Select2 -禁用用户输入选择

23

在ng-repeat下的tfoot中禁用输入控件

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文