LINUX.ORG.RU

Iosevka и лигатуры

 , , ,


0

1

Пробую отключить лигатуры в Иосевке:

mjok@op9010: ~
$ ls -l /etc/fonts/conf.d/10-disable-iosevka-ligatures.conf                                                                                                                                                                         
lrwxrwxrwx 1 root root 70 Oct 14 16:28 /etc/fonts/conf.d/10-disable-iosevka-ligatures.conf -> /home/mjok/.config/fontconfig/conf.d/20-disable-iosevka-ligatures.conf
 
mjok@op9010: ~
$ cat /etc/fonts/conf.d/10-disable-iosevka-ligatures.conf                                                                                                                                                                           
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <description>Disable ligatures for Iosevka</description>

  <match target="font">
    <test name="family" compare="contains" ignore-blanks="true">
      <string>Iosevka</string>
    </test>
    <edit name="fontfeatures" mode="append">
      <string>calt off</string>
    </edit>
  </match>
</fontconfig>

В итоге отключается, но не везде. https://i.imgur.com/SMk9AfL.png ЧЯДНТ

★★☆☆☆

Последнее исправление: BceM_IIpuBeT (всего исправлений: 2)
Ответ на: комментарий от BceM_IIpuBeT

Во всех остальных приложениях нету. Шрифт не этот, кстати, другой. Но в Kate упорно автозаменяются лигатуры, хотя все настройки, которые могли бы на это влиять, проверены.

anonymous_sapiens ★★★★★
()

Что мешает в кривых приложениях выбрать варианты без лигатур?

anonymous
()
$ sudo dnf install nodejs ttfautohint # Аналоги этих пакетов для своего дистра сам найдёшь.
$ git clone https://github.com/be5invis/Iosevka --depth=1 -b v10.3.2
$ cd Iosevka/
$ npm install
$ cp private-build-plans.sample.toml private-build-plans.toml
$ vim private-build-plans.toml
$ git diff
git diff
diff --git a/private-build-plans.toml b/private-build-plans.toml
index 2dbb8c9..7f4535b 100644
--- a/private-build-plans.sample.toml
+++ b/private-build-plans.sample.toml
@@ -10,10 +10,6 @@ serifs = "sans"                  # Optional; Values: `sans` or `slab`
 [buildPlans.iosevka-custom.variants]
 inherits = "ss01"
 
-# Optional; Configure single character's variant
-[buildPlans.iosevka-custom.variants.design]
-g = 'single-storey'
-
 # Optional; Configure single character's variant for Upright and Oblique; Overrides [design]
 [buildPlans.iosevka-custom.variants.upright]
 i = 'zshaped'
@@ -31,7 +27,7 @@ l = 'tailed-serifed'
 # Configure ligations
 
 [buildPlans.iosevka-custom.ligations]
-inherits = "default-calt"   # Optional; inherits an existing ligation set
+inherits = ""               # Optional; inherits an existing ligation set
 disables = []               # Optional; disable specific ligation groups, overrides inherited ligation set
 enables  = []               # Optional; enable specific ligation groups, overrides inherited ligation set


$ npm run build -- ttf::iosevka-custom

$ ls -alh dist/iosevka-custom/ttf/
total 84M
drwxrwxr-x. 2 exl exl 4.0K Oct 14 23:24 .
drwxrwxr-x. 4 exl exl 4.0K Oct 14 22:30 ..
-rw-rw-r--. 1 exl exl 4.8M Oct 14 23:24 iosevka-custom-bolditalic.ttf
-rw-rw-r--. 1 exl exl 4.8M Oct 14 23:19 iosevka-custom-boldoblique.ttf
-rw-rw-r--. 1 exl exl 4.6M Oct 14 23:19 iosevka-custom-bold.ttf
-rw-rw-r--. 1 exl exl 4.8M Oct 14 23:19 iosevka-custom-bookitalic.ttf
-rw-rw-r--. 1 exl exl 4.8M Oct 14 23:19 iosevka-custom-bookoblique.ttf
-rw-rw-r--. 1 exl exl 4.6M Oct 14 23:18 iosevka-custom-book.ttf
-rw-rw-r--. 1 exl exl 4.7M Oct 14 23:24 iosevka-custom-extendedbolditalic.ttf
-rw-rw-r--. 1 exl exl 4.7M Oct 14 23:19 iosevka-custom-extendedboldoblique.ttf
-rw-rw-r--. 1 exl exl 4.6M Oct 14 23:19 iosevka-custom-extendedbold.ttf
-rw-rw-r--. 1 exl exl 4.7M Oct 14 23:19 iosevka-custom-extendedbookitalic.ttf
-rw-rw-r--. 1 exl exl 4.7M Oct 14 23:19 iosevka-custom-extendedbookoblique.ttf
-rw-rw-r--. 1 exl exl 4.5M Oct 14 23:18 iosevka-custom-extendedbook.ttf
-rw-rw-r--. 1 exl exl 4.7M Oct 14 23:18 iosevka-custom-extendeditalic.ttf
-rw-rw-r--. 1 exl exl 4.7M Oct 14 23:18 iosevka-custom-extendedoblique.ttf
-rw-rw-r--. 1 exl exl 4.6M Oct 14 23:18 iosevka-custom-extended.ttf
-rw-rw-r--. 1 exl exl 4.8M Oct 14 23:18 iosevka-custom-italic.ttf
-rw-rw-r--. 1 exl exl 4.8M Oct 14 23:18 iosevka-custom-oblique.ttf
-rw-rw-r--. 1 exl exl 4.6M Oct 14 23:18 iosevka-custom-regular.ttf

Скомпиленные TTF-файлы шрифта без лигатур (не тестил): https://baat.z-lab.me/~exl_lab/others/iosevka-custom.7z

Собиралось оно минут 10, если не больше. Китаец создавший этот шрифт накрутил там сборочную систему на Node.js, для чего – непонятно.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от BceM_IIpuBeT

Значит я как-то неправильно отключил в нём лигатуры, может быть у тебя получится.

EXL ★★★★★
()
Ответ на: комментарий от debugger

Кстати, да ведь. Если она не Bitmap’ная, а векторная, то вот и решение проблемы.

Хотя наиболее адекватным решением проблемы будет всё-таки чтение Qt’ом всех этих флажков fontconfig. Но пока его там реализуют и реализуют ли вообще.

P.S: Тоже ненавижу лигатуры в моноширинных шрифтах.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.