Как изменить шрифты в зависимости от языка в том же абзаце? - PullRequest
1 голос
/ 29 сентября 2019

Я работаю над сайтом WordPress, и там уже написано много контента на китайском и английском языках.Так что это не обычный многоязычный сайт, на котором вы будете перенаправлены на китайскую версию сайта и на английскую версию.

Я попытался использовать @fontface для определения диапазона юникода

@font-face {
  font-family: 'NotoSans';
  src: url('fonts/chinese/NotoSansCJKtc-Thin.otf') format('opentype');
  font-weight: 200;
  unicode-range: U+4E00-U+9FFF, U+3400-U+4DBF, U+2B740–U+2B81F; /* CJK unicode */
}

, а затем использовать

body { 
  font-family: "NotoSans", "Nunito";
}

Но тогда весь текст, китайский и английский, использует Noto Sansшрифт.Я только хочу, чтобы китайский текст использовал Noto Sans.Где я ошибаюсь с вышесказанным - Должен ли он просто не применять шрифт Noto Sans, где определяется диапазон unicode, и отступать на шрифт Nunito за пределами этого диапазона?


В качестве альтернативы,

Или мне следует попробовать использовать javascript для определения диапазона Юникод и применения диапазона с определенным классом?Но разве это обернет каждый символ в промежутке?

if(/^[\u4e00-\u9faf]+$/ || /^[\u3400-\u4dbf]+$/ || /^[\u2b740-\u2b81f]+$/)) {
  // add span around
}

Вот пример текста:

協辦 單位 : 黃 霑 書房 、 Каждая жизнь - это песня 一個 人 一 首歌

так что я хочу,

<span class="chinese-font">協辦單位:黃霑書房</span>、Every Life Is A Song <span class="chinese-font">一個人一首歌</span>

Это лучшее решение?Как бы я написал код JavaScript?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...