soa*_*gem 7 windows windows-registry fonts command-line
我在网上找到了一个指南,说明您需要编辑注册表才能将新字体添加到命令提示符中的可用字体列表中:具体来说,您必须编辑密钥:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
Run Code Online (Sandbox Code Playgroud)
通过使用键00、000、 等添加字符串值0000,它们的值是字体的名称。我已经这样做了。我将字体名称添加到注册表中,如下面的屏幕截图所示,然后重新启动计算机:
但是,我添加的字体没有显示在列表中。更具体地说,我添加了 Inconsolata 和 Source Code Pro。但我在可用字体列表中没有看到它们:
我错过了什么?我使用的是 Windows 10 版本 1803,内部版本 17134.165。
not*_*bit 14
Powershell(或CMD)控制台设置中?首先要知道的是,不幸的是(!):
只有满足特定条件的字体才能安装到控制台中!
字体标准 + 说明
(当前状态未知。)
要在控制台中支持字体,他们必须:
FF_MODERN.OEM_CHARSET.A或C空格。这一切意味着什么? 这些指标中的大部分都在此处定义,它概述了以下描述 C++ 字体的结构:
typedef struct tagLOGFONTA {
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
CHAR lfFaceName[LF_FACESIZE];
} LOGFONTA, *PLOGFONTA, *NPLOGFONTA, *LPLOGFONTA;
Run Code Online (Sandbox Code Playgroud)
字体必须是固定间距。字体的间距和系列由字段描述lfPitchAndFamily。两个低位指定字体的间距,可以是以下值之一:
DEFAULT_PITCHFIXED_PITCHVARIABLE_PITCH字体不能为斜体。换句话说,该lfItalic字段必须设置为 false。
如果它是一个TrueType字体,该 lfPitchAndFamily 字段必须包含的代码FF_MODERN系列,在比特4至7FF_MODERN描述的字体具有恒定笔划宽度(即宽字体),具有或不具有衬线。等宽字体通常是现代的。Pica、Elite和CourierNew就是例子。
如果不是TrueType字体,它的字符集必须包括OEM_CHARSET,由定义lfCharSet在该领域tagLOGFONTA的结构。也就是说,字体需要不仅仅是等宽。它还需要支持OEM代码页中的所有字符的的437“OEM”字符的IBM437 (OEM United States)字符集的描述在这里。
字体不能有负数A或C空格。字符的宽度由ABC 结构描述。的B间距是字符的宽度。该A间距是多少空间,对离开左边的字符,而C间距是多少保证金在离开正确的。
任何在左侧或右侧具有负边距的字符都会超出指定的网格/栅格。例如,重载的字体W需要比指定的 X 像素字符宽度更多的空间才能正确绘制字符。显然,超大字符的字体不是固定宽度的。
然而,一种已知的可用字体是DejaVu,因为它支持许多有用的字形和数学,因此被建议使用。不幸的是,它不是 Windows标准字体选择的一部分 ,需要手动安装。
如果您需要的字体还没有TrueType字体文件 ( *.ttf) 或
OpenType ( *.otf),您需要将 SFD 文件转换为 TTF(或 OTF)。为此,您可以使用FontForge导入 SFD,然后生成 TTF。
File > Open并点击确定。File > Generate Fonts...,然后True Type在下拉菜单中选择,然后Validate Before Saving选项并点击Generate。*.ttf文件拖到 Windows控制面板中找到的字体:Control Panel\Appearance and Personalisation\Fonts) 或通过:
WIN+R并键入:%windir%\fonts。完毕。新字体现在可以立即在您的注册表中使用。
Administrator为此,请打开 Powershell 控制台。
# All your available fonts are located here:
$T1key = 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Fonts'
# But your Console fonts are located here:
$T2key = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont'
# Check the correct name:
Get-ItemProperty -Path $T1key | grep "DejaVu"
DejaVu Sans Mono (TrueType) : DejaVuSansMono.ttf
# Note the correct spacing of the name and ignore the "(TrueType)" part
# Check what's already there:
Get-ItemProperty -Path $T2key
# To add more fonts, just add the new name like this:
# - Add another 0 (zero) to the -Name parameter, for each new font
# So since there is already an item with two zeros, so we need 3 and 4 zeros...
#Set-ItemProperty -Path $key -Name '000' -Value 'Arial' # Doesn't work!
#Set-ItemProperty -Path $key -Name '0000' -Value 'Calibri' # Doesn't work!
Set-ItemProperty -Path $key -Name '00000' -Value 'DejaVu Sans Mono'
Run Code Online (Sandbox Code Playgroud)
但是,您将不会看到新的字体项目,直到:
Windows Explorer。享受许多新的和正确的字形!
例如,尝试5/8th box:
[char]0x2585 # (U+2585)
附录:
WindowsConsoleFonts - 一个 PS 模块,用于在 Windows 中使用控制台字体,允许您轻松安装任何 (?) 字体。
另请参阅如何合并两种字体。
一篇关于他们的字体技术和Font Linking工作原理的Microsoft 文章。
基于 Python的Google Noto Project(字体)Noto 工具merge_fonts.py。
的标准之一提到有constant stroke width,这意味着(pseuod水平)笔如图宽度是恒定这里:
“展开笔触”对话框可让您控制展开过程的各个方面。首先,您可以指定三种类型的笔尖:
- 圆笔,默认情况下是圆形的,但可以转换为椭圆
- 矩形笔,默认情况下为方形,但可以转换为更传统的书法笔尖形状
- 多边形笔 – 您几乎可以绘制任何凸多边形。
对于圆形和书法笔,您可以选择笔画宽度、如何绘制开放路径的末端,以及当两条不具有相同斜率的样条(或线)连接时路径的外观(即在拐角处)观点)。
| 归档时间: |
|
| 查看次数: |
8527 次 |
| 最近记录: |