我使用http://www.fontsquirrel.com/创建了一个@ font-face工具包.
它工作正常,但Windows上的结果与mac上的结果不同.
在Windows上,字体似乎有一个错误的抗锯齿:
这是Mac上带有FF,Chrome或Safari的结果(全部更新到上一版本).
这是Windows上使用FF或Chrome的结果.
如您所见,结果不一样.在Windows上,字体更粗,更粗糙.
我怎么解决这个问题?
运行embedFonts我创建的一些EPS文件,我收到一条错误消息:
> embedFonts("foo.ps")
Unknown device: pswrite
Unrecoverable error: undefined in .uninstallpagedevice
Operand stack:
defaultdevice
Error in embedFonts("foo.ps") :
status 1 in running command 'gs -dNOPAUSE -dBATCH -q -dAutoRotatePages=/None -sDEVICE=pswrite -sOutputFile=/tmp/Rtmp3Lv0dj/Rembed2cd86df573a1 '-sFONTPATH=' 'foo.ps''
Run Code Online (Sandbox Code Playgroud)
我怎样才能避免这个错误?
我明白了,但没有任何意义.

那第11个数字字形到底是什么?就此而言,为什么每个人都有额外的字形?
这是Flash CS3专业版.
我知道使用@ font-face允许浏览器下载自定义字体并在网页中使用它,就像任何系统字体一样.
我想知道的是浏览器是否对字体进行编码或使用它而不暴露它?
谢谢
如何使用FlashDevelop在as3中嵌入字体?我已经阅读了很多关于这个问题的帖子,但没有一个帮助我解决它.当我使用以下代码时,不显示任何内容(这是所有代码):
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
public class Main extends Sprite
{
[Embed(source="/../resources/fonts/andbasr.ttf", fontName = "andbasr", fontWeight = "Demibold", mimeType="application/x-font")]
private var andbasr:Class;
public function Main()
{
var textField:TextField = new TextField();
textField.embedFonts = true;
var format:TextFormat = new TextFormat("andbasr", 16, 0x000000);
textField.defaultTextFormat = format;
textField.text = "Test";
stage.addChild(textField);
}
}
}
Run Code Online (Sandbox Code Playgroud)
"andbasr"只是我发现的随机ttf文件.我知道我做错了什么?
我想在设计支持库的tablayout中嵌入自定义字体.我尝试设置已设置字体的自定义视图.但它没有用.只是出现系统字体.
我做的是,
mAdpater = new CustomPagerAdapter(getSupportFragmentManager());
mFragmentPager.setAdapter(mAdpater);
mTabs.setupWithViewPager(mFragmentPager);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
for (int i = 0; i < mTabs.getTabCount(); i++) {
TextView tv = new TextView(this);
tv.setText(mAdpater.getPageTitle(i));
tv.setTypeface(tf);
mTabs.getTabAt(i).setCustomView(tv);
}
Run Code Online (Sandbox Code Playgroud)
欢迎任何建议.
当我使用Acrobat Distiller(v.9.1.3)时,似乎我无法嵌入所有字体 - 至少不是我想要的方式(没有子集).一个例子是Wingdings(TrueType).
我将复选框和设置激活为"始终嵌入"和"无子集".如果我在文本编辑器中签入*.joboptions我保存为自定义Distiller配置文件的文件,它会清楚地说:
/EmbedAllFonts true
/EmbedOpenType true
/MaxSubsetPct 1
/SubsetFonts false
Run Code Online (Sandbox Code Playgroud)
一些字体Distiller完全嵌入(根据我的要求),其他字体不是.如果我将设置更改为字体子集,则适用于所有字体.因此我认为我的设置是正确的.
有没有其他人遇到与Acrobat相同的问题/错误?
据我所知,itext没有任何字体库,你需要提供字体库.pdf一旦生成,将由Acrobat查看,并假设它是标准字体,adobe将支持它.我的问题是关于字体的许可.
a)我是否需要获得我在iText中使用的字体的许可证?例如,如果我使用Arial,最常用的字体之一并且不是免费的,我是否需要购买字体?
b)如果我使用任何特定字体,例如STSONG.ttf,对于中文字符,我是否需要获得此许可证?
场景:
Flex应用程序利用@ font-face声明嵌入字体.(嵌入字体需要能够旋转文本.)
该应用程序最初是作为英语应用程序开发的,但在本地化期间,有必要找到能够显示亚洲字符的unicode字体.应用程序的原始实现使用四种字体来满足字符强调的各种排列.Bold,Bold Italic,Italic和Normal都是通过Arial系列中相应的Arial字体提供的.
问题:
当尝试将字体编译成可用于粗体,斜体和粗体斜体的字体时(是的,它不是理想的,这只是一个测试,看它是否可以完成):
@font-face { src:url("/fonts/ArialUnicode.ttf");
fontFamily: myFamily;
fontWeight: normal;
fontStyle: normal;
advancedAntiAliasing: true; }
@font-face { src:url("/fonts/ArialUnicode.ttf");
fontFamily: myFamily;
fontWeight: bold;
fontStyle: normal;
advancedAntiAliasing: true; }
etc.
Run Code Online (Sandbox Code Playgroud)
问题是,在编译应用程序时,Flex会变得暴躁,并提供以下错误消息:
[ERROR] /dirpath/Style.css:[49,-1] exception during transcoding: Font for alias 'myFont' with italic style was not found at: file:/dirpath/fonts/ArialUnicode.ttf
因此,与一些调查已经确定,由于统一既不支持也不斜体大胆,当Flex编译器试图嵌入字体,它会不高兴,因为它无法找到那个将满足CSS要求指定位置的字体.
现在,当font-face声明恢复到最简单的形式时:
@font-face { src:url("/fonts/ArialUnicode.ttf");
fontFamily: myFamily;
fontWeight: normal;
fontStyle: normal;
advancedAntiAliasing: true; }
Run Code Online (Sandbox Code Playgroud)
一切编译好,应用程序显示所有正常的重量,正常风格的亚洲字符罚款.但是,当在样式表中显示要以粗体或斜体显示的内容时,会出现一个框,表示没有嵌入字体,也没有任何可以在这些样式中呈现该字符的系统字体.
现在这里变得奇怪了.
如果在系统上安装完全相同的Unicode字体,它将开始以粗体和斜体显示亚洲字符.这没有任何意义,因为当Flex试图嵌入该字体以满足上述css样式时,Bold和Italic字符不在字体中.然而很明显,这个字体被用来显示粗体和斜体字符,就像它们在作为系统字体安装之前只是盒子一样.这是某种Flex伏都教吗?如果是这样,我可以通过某种方式以编程方式调用所述voodoo,因为我不能依赖用户必须出去并在他们的系统上安装unicode字体.
编辑:以下是一些可能澄清问题的进一步信息.
我的问题是不是真的,我们怎么办多种字体的面孔和罗马字符的权重,这是"怎样的Flex应用粗体和斜体的系统字体.更所以,当它说,试图嵌入时字体不支持那些那个字体."
使问题可重现的步骤如下:
我正在使用 matplotlib 生成 PDF 图形。然而,即使是最简单的数字也会产生相对较大的文件,下面的 MWE 会产生几乎 1 MB 的文件。我意识到文件大小较大是由于 matplotlib 完全嵌入了所有使用的字体。由于我要生成相当多的图并希望减小文件大小,所以我想知道:
主要问题:
有没有办法让 matplotlib 嵌入字体子集而不是完整的字体?我也可以完全不包含字体。
到目前为止考虑的事情:
由于使用外部软件生成带有嵌入子集的文件很容易,尽管是劳动密集型的,是否有可能直接在 matplotlib 中实现这一点?任何帮助将不胜感激。
微量元素
import matplotlib.pyplot as plt #Setup
import matplotlib as mpl
mpl.rcParams['pdf.fonttype'] = 42
mpl.rcParams['mathtext.fontset'] = 'dejavuserif'
mpl.rc('font',family='Arial',size=12)
fig,ax=plt.subplots(figsize=(2,2)) #Create a figure containing some text
ax.semilogy(1,1,'s',label='Text\n$M_\mathrm{ath}$')
ax.legend()
fig.tight_layout()
fig.savefig('test.pdf')
Run Code Online (Sandbox Code Playgroud)
环境:matplotlib 3.1.1
font-embedding ×10
fonts ×5
font-face ×3
css ×2
flash ×2
pdf ×2
acrobat ×1
android ×1
antialiasing ×1
apache-flex ×1
css3 ×1
flashdevelop ×1
ghostscript ×1
itext ×1
licensing ×1
matplotlib ×1
postscript ×1
python ×1
r ×1
unicode ×1