问题标签 [monospace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2017 浏览

java - 等宽摆动文本

我编写了一个程序,它可以拍摄一张照片并创建一个 ASCII 表示(ASCII 艺术)。起初,我将 ASCII 字符串写入控制台,但现在我有一个保存文本的 JLabel。但是,JLabel 输出是不规则的,并且不像控制台输出那样均匀。我尝试使用等宽字体(Droid Sans Mono)作为 JLabel 中的字体,因为它是我用于控制台输出的字体,但输出仍然不规则。有没有更好的方法在 Swing/JLabel 中指定等宽字体?

这是我用来创建 JLabel 的方法:

我用来指定字体的行:

编辑:我将 JLabel 更改为 JTextArea 并且效果更好。唯一的问题是即使是很小的字体,框架通常也在屏幕之外。但是我有一种方法可以改变要采样的像素数,这会使输出更小。

0 投票
2 回答
2908 浏览

css - CSS:Courier 字体在 Windows 和 iOS 上的呈现不一致

我的客户想要使用的字体是“Courier”。Courier 并非安装在每台计算机或智能手机上。当它不存在时,它会退回到“Courier New”。“Courier New”是比“Courier”更薄的字体,我希望页面的外观在不同的操作系统和浏览器中尽可能保持一致。所以我想:如果没有安装“Courier”,为什么不使用“Courier New Bold”呢?见下图:

Courier 在不同浏览器中的渲染方式 创建此图像后,我更加困惑。我在 css 中的 font-family 声明中添加了更多字体名称,以涵盖如何在不同的操作系统上调用字体(即“Courier New Bold”)。这是新的声明:

现在出现了奇怪的部分:在 Windows XP 的 Chrome 上,文本被渲染得和以前一样细。Mobile Safari 也是如此。

我怀疑的是:Chrome (WinXP) 和 Mobile Safari 都只检查我声明的第一个字体。他们看到它是“快递员”。他们没有安装“Courier”,所以他们提供“Courier New”。它们没有考虑我在 CSS 中声明的其他字体。

很抱歉这篇冗长的帖子。我的问题归结为:如何让文本在所有操作系统和浏览器中始终显示为“Courier”或“Courier New Bold”?

您可以在此处找到实时示例

更新:我已经阅读-webkit-font-smoothing: antialiased;并将其添加到 CSS 中,但这并不能解决问题。在 Windows 和 iOS 上,文本看起来仍然要细得多。

更新 2: 这篇 2007 年的帖子解释了 Courier 如何在 iOS 上显示为 Courier New 以及为什么它很糟糕。不过,我不确定更新版本的 iOS 是否仍然表现相同。

0 投票
1 回答
1106 浏览

fonts - 从现有的等宽字体创建粗体版本,同时保持宽度

我有一个使用等宽字体的网站。但是不同的浏览器在字符宽度方面存在重大差异。字体宽度保持完全相同是很重要的。

我试过了:font-weight: bold;但这取决于浏览器,我无法使用负值来弥补额外的宽度letter-space

我曾尝试在 Type Light 3.2 中创建自己的新派生字体,但这非常困难,尤其是弯曲字符很难更改。

我试图用绝对 div 将文本加倍,并设置 2px 变化的边距,效果很好,但这样做的缺点是你需要很多 div,这使得 IE7 和 IE8 在使用大时非常慢文本。

是否有另一种方法(自动首选)从 ttf/eot/woff/svg 字体派生粗体字体?例如,我知道 Java 可以创建粗体字体,但我可以将其保存到新的字体文件中吗?任何方式都对我有用。

0 投票
2 回答
1997 浏览

javascript - 等宽字体 - 不是真正的等宽字体?

到目前为止,这似乎是我在 Gedit 中使用JavaScript发现的一个错误(当您将字体从“Ubuntu mono”更改为“Monospace”时)和 Geany。我将右边距设置为 80 个字符,但是当我键入Objectprototype任何其他由程序加粗的关键字时,它会添加一些字母间距,稍微偏离间距。

因此,我有一行声明Object是 79 个字符,但似乎是 81.5 个字符。有人可以建议我如何解决这个问题吗?它是文本编辑器设置吗?是不是字体本身的问题?

0 投票
0 回答
247 浏览

email - 文本/纯等宽的内容类型?

我想发送比简单的文本块(添加表格、对齐方式、样式等)更复杂的电子邮件,例如:

有没有办法将字体系列放入 text/plain content-type ?

0 投票
1 回答
786 浏览

ascii - 等宽 ascii 编辑器

是否有任何 ASCII“构建器”/“文本编辑器”或任何可以让某人以不同于普通文本编辑器的方式编写文本的东西。这个想法是,您采用等宽字体并用所有空格填充某种文本区域,当您将光标放在文本区域上的任何位置时,它会“粘住”。下一个想法是,每当您编写一个字符时,它都会“吃掉”或替换该空间中的现有字符。我可以很容易地用 javascript 构建它,但我觉得它是一些文本编辑器的功能。我有哪些选择?这存在吗?

我讨厌当这种情况发生时,我不希望它发生。

而不是这个...

0 投票
1 回答
1021 浏览

java - 等宽和 UTF8

我正在我们的一个旧 java Swing 应用程序中更正字体显示。在运行时使用“ -Dfile.encoding=UTF-8 ”选项后发生了变化。

FontClass.jar 是我的示例 jar 文件。

使用选项 1: 我得到等宽显示

使用选项 2: 我得到非等宽显示。

局限性:

i) -Dfile.encoding=UTF-8 我们添加了这个选项,让我们的所有流都支持 UTF-8 支持。而不是手动修改每个流。

ii)我们在很多地方都在使用 java swing frame work。我们使用默认字体。改变这一切需要大量的工作。

所以现在我的问题是有任何命令行选项,我可以使用选项 1 获得等宽显示:

下面是示例代码:

0 投票
2 回答
310 浏览

internet-explorer - Internet Explorer 使用奇怪的字体

我希望有人能阐明我在使用 IE 时遇到的这个烦人的问题——它<PRE>以“有趣”的字体呈现标签内容。自己看看:http: //imgur.com/LHAtPhh

(截图取自http://www.roryhart.net/code/xckd-np-complete-restaurant-order/的渲染。)

通过搜索网络和 SO,我发现的几个相关答案似乎指向检测到错误编码或损坏的字体(请参阅它显示的奇怪字形而不是“\”)。

我也手动玩过编码,它没有改变任何东西。字体问题我实在没有资格去调查。然而,我发现确实选择了一种有趣的字体进行渲染。当进入 IE 中的开发人员工具并查看相关 PRE 元素的 Trace Styles 输出时,我可以看到以下内容:

我不知道“Courier 10 Pitch”可能是什么......但是当手动覆盖“Courier New”时,它会开始正确渲染。

有任何想法吗?这可能与我安装了东亚语言包有关吗?

重现我拥有的所有 IE 版本,从 7 到 10。目前是 Windows 7 SP1。

0 投票
1 回答
1746 浏览

android - Android Monospace 字体不是固定宽度

我正在为计时器编写自定义视图,但我无法为中间的数字获得正确的固定宽度字体。这是相关代码(来自两种不同的方法):

这似乎工作正常,但是每当其中一个数字变为 1 时,该 1 占用的空间就会减少,并且整个文本块会移动一点。这显然不应该发生,因为我使用的是等宽字体。谁能阐明我如何解决这个问题?

0 投票
1 回答
604 浏览

unicode - DejaVu Sans Mono 停止显示一些 Unicode 字符

Unicode 度数符号字符 ଀ (u+0B00) 在 Linux Mint 15 Olivia 上停止正确显示,可能还有一些我尚未确认的其他字符。我只确定这个特定的角色。它显示为一个框(此处通过 Chrome 在 StackOverflow 上)或 4 件矩形字形。

在问题前后使用 gnome-terminal 和 Sublime Text 2 中的 DejaVu Sans Mono 字体进行了测试。我可以确认它今天早些时候工作,并且在它工作和拒绝工作之间我认为我没有更改任何字体设置。