簡體   English   中英

使拉丁字體小於希伯來語(unicode-range)

[英]Making a Latin font smaller than Hebrew (unicode-range)

我有一個希伯來語/英語網站,它使用兩個 fonts 添加了@font-face 使用unicode-range我定義了一種字體僅適用於希伯來字符,另一種字體適用於所有其他字符。

問題在於我的希伯來字體中的字符看起來明顯小於拉丁字體中的字符。 簡單的解決方案是替換其中一個 fonts 並找到其他具有相似大小的字符。 但不幸的是,我必須保留那兩個 fonts。 不能改變它們。 所以我的問題是。 有沒有辦法例如定義拉丁語 unicode-range 中的所有字符的font-size0.8em

請記住,一個元素可能同時包含希伯來語和拉丁語字符。 因此,根據整個站點的語言設置不同的 class 的解決方案將不起作用。 它真的必須在“每個字符”級別上定義。

編輯:根據評論中的請求,我正在添加一個代碼示例:

/* --- --- --- Defining font: --- --- --- */
@font-face {
  font-family: HebrewFontName;

  src: local('HebrewFontName'),
  local('HebrewFontName'),
  url(/fonts/HebrewFontName.otf);
  font-weight: 300;
  unicode-range: U+0590-05FF,
  U+0030-0039;
}

@font-face {
  font-family: HelveticaNeue;

  src: url(/fonts/HelveticaNeueDeskUI-01.ttf);
  font-weight: 400;
}

/* --- --- --- Using font: --- --- --- */
.someElement {
  font-family: 'MigdalRegular', 'HelveticaNeue';
}

你目前不能。

unicode-range屬性用於確定是否下載字體。 它不會過濾要應用字體的字符范圍。

...如果頁面不使用此范圍內的任何字符,則不下載字體; 如果它至少使用一個,則下載整個字體。

該描述符的目的是允許對字體資源進行分段,以便瀏覽器只需要下載特定頁面的文本內容所需的字體資源。 例如,具有許多本地化的站點可以為英語、希臘語和日語提供單獨的字體資源。 對於查看英文版頁面的用戶,無需下載希臘文和日文字體資源fonts,節省帶寬。

–– MDN unicode-range

您最好的選擇是為不同的語言段使用不同的字體:通過在段上插入span

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM