问题标签 [fonts]

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 投票
4 回答
755 浏览

fonts - 网页字体渲染

创建网页时,我总是遇到同样的问题。当我添加一个大于 16-18px 的字体时,它看起来很糟糕。它的锯齿状和像素化。我尝试过使用不同的字体和粗细,但是我没有太多运气。

注意:它只有在windows中是这样的。主要在 Opera 和 FF 中,也在 IE7 中,但没有那么糟糕。在 Linux 中,字体看起来不错。我没看过Mac。

你们做什么来解决这个问题?如果有什么。我注意到 SO 上的标题也很参差不齐,但它们足够小,不会看起来很糟糕。

0 投票
4 回答
367 浏览

.net - 字体相关的控制定位

我想在 Vista 上使用 Segoe UI 9 pt,在 Windows XP/etc 上使用 Tahoma 8 pt。(实际上,我会满足于两者上的 Segoe UI,但我的用户可能没有安装它。)但是,它们完全不同,它们真的搞砸了我的表单布局。那么……有什么好的方法来解决这个问题吗?

一个例子:我有一个Label,中间有一些空格,我在其中放置了一个NumericUpDown控件。如果我使用 Segoe UI,NumericUpDown与使用 Tahoma 时相比,空白区域左侧大约 5 个像素左右。这是一种痛苦;我不确定在这里做什么。

所以最具体地说,我的问题是:如何将控件放置在我Label的 s(或CheckBoxes 等)的空白区域的中间?最普遍的是:是否有一种处理 Windows 窗体中不同字体的好方法?

编辑:我认为人们不理解这个问题。我知道如何根据操作系统改变我的字体。我只是不知道如何处理由此产生的布局问题。

回复 ajryan, quick_dry:好的,你们明白这个问题了。我想 MeasureString 可能会起作用,尽管我有兴趣进一步探索解决这个问题的更好方法。

拆分控件的问题在使用 a 时最为明显CheckBox。在那里,如果用户单击 CheckBox 的“后半部分”(Label我猜这将是一个单独的控件),CheckBox则不会更改状态。

0 投票
9 回答
1610 浏览

css - 在网络上,我应该使用什么字体来创建等效的跨平台体验?

由于 Linux(及其变体)具有与 Windows 和 Mac OS X 完全不同的字体集,是否有任何人有创建跨平台字体系列的经验 - 最好找到与上述操作系统上的常见字体等效的字体?

如果是这样,最好的路线是什么?

0 投票
1 回答
292 浏览

winforms - 将控件定位在 CheckBox 的中间

这是我之前的问题“依赖字体的控制定位”的后续。它试图解决该问题背后的真正问题,可能以不同于我所询问的方式。

问题陈述示例:我想要一个复选框,上面写着“加载后按<X> <Y>调整价格”,其中<X>是一个数字---可以用 --- 调整,NumericUpDown<Y>是“百分比”或“美元”,选择由ComboBox. 这将在一行上。

复杂性:我希望能够更改所有这些控件的字体(基本上将它们设置为System.Drawing.Fonts.MessageBoxFont,在 Windows XP/etc 上是 Tahoma 8 pt,在 Vista 上是 Segoe UI 9 pt),而不会弄乱我的布局,其中我当前的Position-property--setting 范例不起作用。

更一般地说,我希望控件以与字体无关的方式动态布局,以便<X> NumericUpDown紧贴“by”和<Y> ComboBox之间的空间,同样<X> ComboBox适合关于<X> CheckBox和其右侧的字符串“加载后”。

每个人似乎都错过的部分:这都嵌套在CheckBox. 因此,理想情况下,单击“加载后”应该选中/取消选中复选框,并在“加载后调整价格”周围绘制那个小高亮矩形。所以只是在最后打一个额外Label的耳光是行不通的,因为那样它就不会切换CheckBox; Label同样,尝试通过连接这样的'事件来创可贴Click不会产生所需的高亮矩形。

解决方案?在这一点上,我在想:

  1. 以某种方式重新考虑这个问题,也许是一个丑陋的解决方案,比如两行单独的文本:“加载后调整找到的价格”(CheckBox),“调整金额:”(NumericUpDownComboBox)。这真的很糟糕,因为我的选项框绝对充满了这种类型的选项(即示例中的类型),因此它的垂直尺寸至少会增加一倍。

  2. 某种自定义控件?SplittableCheckBox?

  3. 某种带有TableLayout控制的魔法?(很确定这在“每个人似乎都错过的部分失败了。)

  4. 放弃,要么回到 MS Sans Serif,要么统一使用 Tahoma,要么将 Segoe UI 与我的应用程序打包在一起,从而不尊重系统默认字体。

  5. (新,通过编辑)切换到 WPF,如果有人可以说服我它完全支持这种情况。

0 投票
2 回答
2262 浏览

wpf - WPF - 从流中加载字体?

我有一个包含字体文件 (.ttf) 内容的 MemoryStream,我希望能够从该流创建一个 FontFamily WPF 对象,而无需将流的内容写入磁盘。我知道使用 System.Drawing.FontFamily 可以做到这一点,但我不知道如何使用 System.Windows.Media.FontFamily 来做到这一点。

注意:我只有流,所以我不能将它打包为应用程序中的资源,并且由于磁盘权限问题,将无法将字体文件写入磁盘以作为“内容”参考

更新:

API 文档描述了如何使用应用程序资源,尽管我不清楚这是程序集中的嵌入式资源还是磁盘上的文件。

当您引用作为应用程序一部分打包的字体时,您可以使用基本 URI 值。例如,基本 URI 值可以是“pack://application”URI,它允许您引用打包为应用程序资源的字体。下面的代码示例显示由基本 URI 值和相对 URI 值组成的字体引用。

0 投票
3 回答
61887 浏览

fonts - 如何在 Windows 中启用字体抗锯齿

如果没有抗锯齿,我下载了一种看起来不太理想的字体。我不知道如何在 VS 中启用抗锯齿,我已经在系统性能选项中更改了“屏幕字体的平滑边缘”,但这似乎没有帮助。

XP SP3 上的 VS2008。

我错过了什么?

0 投票
3 回答
4683 浏览

.net - 字体大小独立的 UI:当我切换到 120 DPI 时一切都坏了?

所以我正在阅读另一个问题中有人链接到的那些 Windows Vista UI 指南,他们提到你应该能够在切换到 120 DPI 后幸存下来。好吧,我在安装了我的应用程序的情况下启动了我方便的虚拟机,我们得到了什么……啊啊!!!大规模用户界面失败!

一切都乱七八糟:有些容器不够大,无法容纳它们的文字;一些“彼此相邻”定位的控件现在都挤在一起/分开了;有些按钮不够高;我的ListView专栏不够宽... eeek。

这听起来像是一种完全不同的方法。我之前的一个基本上是使用 VS2008 Windows 窗体设计器来创建,我猜是基于像素的布局。我可以看到,如果我坚持使用 Windows 窗体,FlowLayoutPanels 会很有帮助,尽管我过去发现它们相当不灵活。它们也不能解决容器(例如表单本身)不够大的问题;大概有办法做到这一点?也许是那个AutoSize属性?

这也可能表明是时候跳槽到 WPF 了。我的印象是它是专门为这种事情设计的。

基本问题似乎归结为这些:

  • 如果我要坚持使用 Windows 窗体,那么实现与字体大小无关的布局的所有技巧是什么,这种布局可以在用户设置大字体或将显示设置为 120 DPI 时存活下来?
  • WPF 在这方面是否具有显着优势,如果是,您能否尝试说服我值得转换?
  • 在 .NET 堆栈中或一般情况下,是否存在与字体大小无关的布局的一般“最佳实践”?
0 投票
10 回答
9888 浏览

macos - Windows 上的 Mac 字体渲染

我喜欢 Mac OS精美呈现字体的方式(不仅仅是浏览器)。我想知道我们是否可以在 Windows 上运行的浏览器中以某种方式获得相同的渲染?

有人推荐了 sIFR,但我想这在我需要使用非标准字体时很有用?

0 投票
2 回答
2487 浏览

user-interface - 如何为黑莓应用程序创建自定义字体

我想为 Blackberry 应用程序使用特定的外语字体。这种字体是如何创建并加载到黑莓设备上的?

例如:ਪੰਜਾਬੀ

0 投票
1 回答
3285 浏览

c# - C# / dot-NET 的字体渲染库?

是否有任何免费的第三方库可用于在 dot-NET 应用程序中呈现任意缩放和旋转的文本?尽管原生 GDI+ 允许文本缩放和旋转,但其确定渲染文本尺寸的方法不够精确,并且在将文本添加到渲染字符串时的字距调整差异使其不适合在某些类型的软件中使用(例如,例如,图形编辑软件)。

要求:

  • 本机 .NET 代码。
  • 任意缩放和旋转文本。
  • 精确的文本指标。
  • 无论字符串长度如何,都保持一致的字距调整。