Windows 10 默认包含的字体中是否只包含大写字母?
我有一个订购系统,它本质上只是一个包含日期描述和价格的数据库。它的政策是,所有描述必须始终以大写字母输入。没有例外。
这是不容商榷的,我已经尝试过但失败了。
问题是,供应商通过电子邮件或文件向我们发送的大多数描述都是小写或混合大小写的。
这意味着要么需要重新以大写形式输入它们 - 这可能很耗时或会导致错误 - 要么需要将它们复制并粘贴到另一个程序(如 word)中并转换为大写,然后剪切并粘贴到系统中。这也很耗时,也可能导致错误(例如,复制同一行两次)。
我可以更改设置中使用的字体,因为这是集中设置的并且影响所有用户。
我无法使用脚本自动更改大小写,因为脚本根本不支持。这是不可能的。
我无法安装任何新字体,因为 1) IT 部门说不行,2) 很多人都在使用该软件,如果有人在没有安装字体的计算机上打开该软件的副本,就会破坏系统,而且 IT 部门不会在每台计算机上安装新字体。
唯一的选择是查看 Windows 10 中是否已经安装了全大写的默认字体。
是否存在这样的字体?如果存在,它的名字是什么?
如果没有的话,只需回答“不”即可。
答案1
基于默认Windows 10和Windows 11字体列表,似乎没有。
您还可以检查 Windows字体库。
答案2
我不知道有这样的内置选项。
我建议要么强制用户在需要时将所有文本大写,要么创建一个在处理时将其大写的解决方案。
您提到了 Excel,在这种情况下,您可以使用 =UPPER("text") 函数。您可以将其封装在 VBA 宏中,并在复制数据后启动它(甚至可以在电子表格内创建按钮来启动它)。将整个“B”列大写的示例脚本:
Sub tgr()
With Range("B1", Cells(Rows.Count, "B").End(xlUp))
.Value = Evaluate("INDEX(UPPER(" & .Address(External:=True) & "),)")
End With
End Sub
您还可以创建 AutoHotkey 脚本来将选定的文本大写(或者实际上:复制它并重新输入为大写)。这应该适用于任何软件,但它确实有限制:在输入时,它可能会破坏带有特殊字符的文本。使用 ctrl+win+u 的示例脚本:
^#u::
Clipboard := ""
Sleep 50
Send ^c
ClipWait
Send % "{Raw}" Format("{:U}", Clipboard)
return
代码来源:
VBA:https://stackoverflow.com/questions/28991174/excel-macro-to-change-entire-column-to-uppercase
自动热键:https://www.reddit.com/r/AutoHotkey/comments/nnpwer/how_to_convert_selected_text_from_lowercase_to/