通过LESS在Font Bootstrap中集成Font Squirrel生成的字体

时间:2013-05-03 04:29:51

标签: node.js twitter-bootstrap express less font-face

我试图使用Font Squirrel生成的字体作为Twitter Bootstrap的基本字体(从LESS文件编译)。我在Express.js中使用Express.js,并在字体目录中包含了字体文件,即

myapp
|_ public
    |_ stylesheets
        |_ font

我已经通过更改bootstrap.less中的变量“安装”Font Awesome并让它工作,所以我知道目录结构是正确的。使用font目录中的自定义字体文件,下一步该怎么做?我是否需要创建包含my-custom-font.less声明的@font-face文件,或者我是否需要在其中一个引导LESS文件中声明这个?我知道基本字体是通过variables.less属性在@baseFontFamily中声明的,但正如我所描述的,我不确定如何将其声明为我的自定义字体系列。提前谢谢。

修改

以下是我尝试使用的代码片段:

@ChatypePath: "font";

@font-face {
  font-family: 'chatypeb2.1regular';
  src: url('@{ChatypePathPath}/chatypeb2.1regular-webfont.eot?v=3.0.1');
  src: url('@{ChatypePathPath}/chatypeb2.1regular-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
       url('@{ChatypePathPath}/chatypeb2.1regular-webfont.woff?v=3.0.1') format('woff'),
       url('@{ChatypePathPath}/chatypeb2.1regular-webfont.ttf?v=3.0.1') format('truetype');
}

注意:这里有一些错误。

更新

正确声明:

@chatypeFontFamily:     "ChatypeB2.1ThinThin", "Courier New", monospace;

@font-face {
    font-family: 'ChatypeB2.1ThinThin';
    src: url('font/chatypeb2.1thin-webfont.eot');
    src: url('font/chatypeb2.1thin-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/chatypeb2.1thin-webfont.woff') format('woff'),
         url('font/chatypeb2.1thin-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

1 个答案:

答案 0 :(得分:8)

我会在variables.less

中尝试这样的事情
@customFontFamily: "Custom", "Courier New", monospace;

/* here you should use whatever @font-face squirrel generated in the stylesheet.css */
@font-face {
  font-family: 'Custom';
  font-style: normal;
  font-weight: 400;
  src: local('Custom'), local('Custom-Regular'), url(path.to.font.file.woff) format('woff');
}

您也可以将font-face放入单独的文件中,然后使用@import,但我不认为这是必要的。然后,您可以拨打@cusomFontFamily并将其用作@baseFontFamily或任何您想要的地方。