8

我已经查看了这个线程:Google Fonts 和 TinyMCE,实际上之前甚至已经成功地为用户的 TinyMCE 字体选项添加了新字体。

但是我不确定这里出了什么问题以及为什么我不能再这样做了。我正在尝试添加一种新字体,Samman这是我刚从 MyFonts.com 获得的。

在我的 TinyMCE 初始化中,我包括以下内容:

content_css : "css/fonts.css,css/userdesigntool.css,http://fonts.googleapis.com/css?family=Paytone+One,http://fonts.googleapis.com/css?family=Aclonica", 

css/fonts.css是我描述新字体的地方。在这个文件中,我刚刚保存在fonts/css服务器文件夹中的新字体如下所示:

@font-face {
font-family: 'sammanregular';
src: url('fonts/samman/samman-webfont.eot');
src: url('fonts/samman/samman-webfont.eot?#iefix') format('embedded-opentype'),
     url('fonts/samman/samman-webfont.woff') format('woff'),
     url('fonts/samman/samman-webfont.ttf') format('truetype'),
     url('fonts/samman/samman-webfont.svg#sammanregular') format('svg');
font-weight: normal;
font-style: normal;

}

我从 Font-Squirrel 生成了这些(正如我之前使用其他字体成功完成的那样),并且我已经仔细检查以确保文件实际上在预期的路径上,并且它们是。

theme_advanced_fontsTinyMCE 初始化的条目中,我有这个:

    theme_advanced_fonts : tm_fonts,
            // some more stuff below

tm_fonts我的 javascript 中描述的变量在哪里,如下所示:

var tm_fonts = "Andale Mono=andale mono,times;"+
                    "Arial=arial,helvetica,sans-serif;"+
                    "Arial Black=arial black,avant garde;"+
                    "Book Antiqua=book_antiquaregular,palatino;"+
                    "Corda Light=CordaLight,sans-serif;"+
                    "Courier New=courier_newregular,courier;"+
                    "Flexo Caps=FlexoCapsDEMORegular;"+                 
                    "Lucida Console=lucida_consoleregular,courier;"+
                    "Georgia=georgia,palatino;"+
                    "Helvetica=helvetica;"+
                    "Impact=impactregular,chicago;"+
                    "Museo Slab=MuseoSlab500Regular,sans-serif;"+                   
                    "Museo Sans=MuseoSans500Regular,sans-serif;"+
                    "Oblik Bold=OblikBoldRegular;"+
                    "Sofia Pro Light=SofiaProLightRegular;"+                    
                    "Symbol=webfontregular;"+
                    "Tahoma=tahoma,arial,helvetica,sans-serif;"+
                    "Terminal=terminal,monaco;"+
                    "Tikal Sans Medium=TikalSansMediumMedium;"+
                    "Times New Roman=times new roman,times;"+
                    "Trebuchet MS=trebuchet ms,geneva;"+
                    "Verdana=verdana,geneva;"+
                    "Webdings=webdings;"+
                    "Wingdings=wingdings,zapf dingbats"+
                    "Aclonica=Aclonica, sans-serif;"+
                    "Michroma=Michroma;"+
                    "Paytone One=Paytone One, sans-serif;"+
                    "Andalus=andalusregular, sans-serif;"+
                    "Arabic Style=b_arabic_styleregular, sans-serif;"+
                    "Andalus=andalusregular, sans-serif;"+
                    "KACST_1=kacstoneregular, sans-serif;"+
                    "Mothanna=mothannaregular, sans-serif;"+
                    "Nastaliq=irannastaliqregular, sans-serif;"+
                    "Samman=sammanregular;";

现在发生的事情是,它Samman确实显示在用户可以在 TinyMCE 中选择的字体列表中,但是当我选择这种字体时,文本没有任何反应,文本只是保留在它使用的任何现有字体上。

当我使用浏览器的调试器时,果然可以看到 TinyMCE 的 iframe 确实包含css/fonts.css提到 Samman 的正确文件。但是当我在 TinyMCE 中更改字体时,我可以在调试器中看到该文本的span样式font-family没有改变。如果我选择另一种字体,span样式会发生变化,但如果我选择Samman,则不会发生任何事情。

自从我添加字体以来已经有一段时间了,所以也许我只是忘记了一些东西?但我似乎无法弄清楚。

4

2 回答 2

5

好的,我发现了问题。

我看到列表中字体列表的最后一行theme_advanced_fonts是这样的:

                "Mothanna=mothannaregular, sans-serif;"+
                "Nastaliq=irannastaliqregular, sans-serif;"+
                "Samman=sammanregular;",

我所要做的就是去掉最后的分号,所以新字体显示得很好:

                "Mothanna=mothannaregular, sans-serif;"+
                "Nastaliq=irannastaliqregular, sans-serif;"+
                "Samman=sammanregular",
于 2013-01-05T10:18:50.983 回答
-1

不要因为更多的代码而感到压力。只需编写一些简单的函数即可在您的帖子编辑器上获得所需的字体。

http://kvcodes.com/2014/05/how-to-add-google-webfonts-to-wordpress-tinymce-editor/

于 2014-05-21T05:00:06.750 回答