序言:我想从R创建出版级图形而不进行后处理.我所在研究所的其他研究人员总是在图形软件(如Adobe Illustrator)中进行后处理.我希望避免这种情况.
我的抱怨是R不对负数使用正确的减号(特别是在绘图轴上):
plot(-20:-1, rnorm(20) + 1 : 20)
Run Code Online (Sandbox Code Playgroud)

(我已经把犯罪者围了起来供你考虑.)
作为一个排版书呆子(这是真的!检查我的职业生涯简历!)这是不可接受的.我需要在这里使用正确的Unicode字符ᴍɪɴᴜꜱꜱɪɢɴ(U + 2212," - ").我的一个朋友在发布之前通过替换Adobe Illustrator中的所有减号来实现这一点,但我不禁认为必须有一种更好的方法 - 从R内部 - 来实现这一目标; 并且不会强迫我手动更换所有轴标签.
(我目前没有使用ggplot2,但如果有一个只适用于ggplot2的解决方案,我很乐意接受它.)
前段时间,在阅读这篇文章后,我发现了一个很好的形象,并指向了一本名为"Thinking Forth"的更好的书.令我惊讶的是,该书的LaTeX资源已准备好下载,珍珠如下:
%% There's no bold typewriter in Computer Modern.
%% Emulate with printing several times, slightly moving
\newdimen\poormove
\poormove0.0666pt
\newcommand{\poorbf}[1]{%
\llap{\hbox to \poormove{#1\hss}}%
\raise\poormove\rlap{#1\hss}%
\lower\poormove\rlap{#1\hss}%
\rlap{\hbox to \poormove{\hss}\hbox{#1}}%
#1}
%\let\poorbf=\textbf
\renewcommand{\poorbf}[1]{{\fontencoding{OT1}\fontfamily{cmtt}\fontseries{b}\selectfont#1}}
Run Code Online (Sandbox Code Playgroud)
其中它可以模拟没有它的字体的粗体描边.自从阅读以来,我没有意识到\llap这一点,但现在我可以用它们来定义盒子等.
所以,我的问题是双重的:
Garamond真的是网络安全吗?我应该继续使用吗?我知道它不存在于XP(格鲁吉亚是后备),但是,其他操作系统呢?它存在于mac,新窗口和Linux中吗?
我知道我可以简单地做@ font-face,但是,如果我嵌入它,它在Google Chrome中看起来很可怕.
编辑
好的,如果我做了
@import url(http://fonts.googleapis.com/css?family=EB+Garamond);
html{font-family: Garamond, EB Garamond, Georgia, serif;}
Run Code Online (Sandbox Code Playgroud)
请问,通过这种方式,网络浏览器将首先检查是否安装了Garamond,如果没有,加载将加载网络字体EB Garamond,或者这不会发生?
如果它安装在用户的计算机中,我想在网站中使用"Segoe UI"字体.
我已经声明了所有的样式,@font-face以便使用font-weight属性来改变字体的厚度(这是一个非常酷的功能!).
问题是我无法使用Segoe UI Bold(我认为名称错误).任何的想法?
这是一个例子.(4)和(5)将是相同的:http://jsfiddle.net/kxHQR/1/
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 700;
src: local('Segoe UI Bold'), local('SegoeUI-bold'), local('segoeuib');
}
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 600;
src: local('Segoe UI Semibold'), local('SegoeUI-Semibold');
}
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 400;
src: local('Segoe UI'), local('SegoeUI');
}
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 300;
src: local('Segoe UI Light'), local('SegoeUI-Light');
}
/* ... */
BODY {
font-family: 'Myname';
} …Run Code Online (Sandbox Code Playgroud) 我购买了一个支持一些开放式功能的webfont,当然我想使用它们.
不幸的是,我无法在网上找到解释使用语法的最佳方法 - 在我看来,这font-feature-settings是另一个前缀地狱的例子.
目前我有这样写的但是我不确定它是否涵盖了支持这些功能的所有浏览器.
.element {
-webkit-font-feature-settings: "kern" 1, "liga" 1, "case" 1;
-moz-font-feature-settings: "kern=1", "liga=1", "case=1";
-moz-font-feature-settings: "kern" on, "liga" on, "case" on;
-ms-font-feature-settings: "kern" 1, "liga" 1, "case";
-o-font-feature-settings: "kern", "liga", "case";
font-feature-settings: "kern", "liga", "case";
}
Run Code Online (Sandbox Code Playgroud)
更具体地说,-moz语法似乎很奇怪.一些消息来源声称这是要使用的语法:
-moz-font-feature-settings: "liga=1"; /* Firefox 14 and before */
-moz-font-feature-settings: "liga" on; /* Firefox 15 */
Run Code Online (Sandbox Code Playgroud)
其他人这样做是这样的:
-moz-font-feature-settings: "cswh=1";
-moz-font-feature-settings: "cswh";
Run Code Online (Sandbox Code Playgroud)
同样的事情-webkit; 有人这样写:
-webkit-font-feature-settings: "liga" on, "dlig" on;
Run Code Online (Sandbox Code Playgroud)
而其他人这样做:
-webkit-font-feature-settings: "liga", "dlig";
Run Code Online (Sandbox Code Playgroud)
或者像这样:
-webkit-font-feature-settings: …Run Code Online (Sandbox Code Playgroud) 有没有办法让可变宽度字体像HTML中的固定宽度字体一样?
例如,如果我有一个句子,"快速的灰色狐狸跳过懒惰的狗",显示在"Courier New"中,一个固定宽度的字体,它会比它是一个可变宽度字体,如"Arial"更宽. ".我想使用"Arial"而不是"Courier New"但是字符固定宽度.
可变宽度的例子:
快速灰狐狸跳过懒狗.
固定宽度示例:
The quick grey fox jumped over the lazy dog
请注意每个示例中单词"quick"和"gray"中的字符彼此之间的距离.
CSS中的 ui-sans-serif 和 sans-serif 字体有什么区别font-family?ui-serif 与 serif 对比?ui-monospace 与 monospace 对比?
system-ui 在哪里适合这个?您会将它用于所有 3 种类型的字体吗?它会出现在字体列表中的什么位置?
我通常会看到“ui-”变体出现在 CSS 字体列表中的第一个font-family,而另一个变体出现在最后。就像是font-family: ui-sans-serif, (more fonts here), sans-serif。如果使用第一个匹配的字体,那么这样做有什么意义呢?既然 ui-sans-serif 是通用字体,那它不是总是可以匹配的,不需要在后面添加任何字体吗?
考虑到我有一个锚标记的CSS规则:
font-family: Helvetica, Verdana, Calibri, Arial, sans-serif;
Run Code Online (Sandbox Code Playgroud)
当然,通过观察浏览器中呈现的内容,我可以判断哪些字体已经被使用(应用)来格式化当前锚元素的文本.
但是,我需要通过JavaScript(例如jQuery)知道当前使用的字体.这个jQuery代码对我没有帮助:
$('#anchor-id').css('font-family');
Run Code Online (Sandbox Code Playgroud)
因为它返回'Helvetica, Verdana, Calibri, Arial, sans-serif;'.有没有办法知道现在哪种字体在运行?
更新:基于@MC回答,我创建了这个小提琴,你可以检查它是否正常工作.
我在 IE 和 Edge 浏览器中使用本地 .css 文件中定义的“Open Sans”字体时遇到问题。
打开-sans.html:
<html>
<head>
<meta charset="utf-8">
<!--link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,300' rel='stylesheet' type='text/css'-->
<link href='open-sans.css' rel='stylesheet' type='text/css'>
<style type="text/css">
* {
font-family: 'Open Sans';
font-style: normal;
font-size: 13px;
}
.light {
font-weight: 300;
}
.regular {
font-weight: 400;
}
.semibold {
font-weight: 600;
}
</style>
</head>
<body>
<p class="light">Lorem ipsum dolor sit amet...</p>
<p class="regular">Lorem ipsum dolor sit amet...</p>
<p class="semibold">Lorem ipsum dolor sit amet...</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在 Chrome 或 FF 中,我看到正确的字体(本地我没有安装“Open Sans”;操作系统 - Windows 10)...在 …
对于移动设计,设计通常具有较小的标题字体。
Material-UI是否具有使版式响应的机制?
我看到默认主题具有在rems中定义的字体大小-这是否意味着仅减小基本字体大小就可以了?(这似乎不起作用,如果您想以不同的比率减少标题字体怎么办)。
typography ×10
css ×7
font-face ×5
fonts ×3
html ×2
webfonts ×2
css3 ×1
embed ×1
javascript ×1
jquery ×1
latex ×1
material-ui ×1
open-source ×1
plot ×1
r ×1
reactjs ×1
tex ×1