protesilaos / iosevka-comfy

Custom build of Iosevka with different style and metrics than the default.
Other
313 stars 10 forks source link

Little issue with version 2.0 #17

Closed DamienCassou closed 1 week ago

DamienCassou commented 2 months ago

I've just switched to version 2.0 and it doesn't look as good as it did in 1.4.0 :-).

Version 2.0

2024-08-30_21-28

Version 1.4.0

image

DamienCassou commented 2 months ago

I'm installing Iosevka-comfy from Nix and I'm responsible for the package. Here is the patch I wrote to update to v2: https://github.com/NixOS/nixpkgs/commit/f308200adfca54d9c30f387247e73cd5b0c0bafe?diff=split&w=0.

protesilaos commented 2 months ago

From: Damien Cassou @.***> Date: Fri, 30 Aug 2024 13:12:08 -0700

I've just switched to version 2.0 and it doesn't look as good as it did in 1.4.0 :-).

This is just the new trend in typography, haha!

I think you just need to restart Emacs for it to read the new files.

I'm installing Iosevka-comfy from Nix and I'm responsible for the package. Here is the patch I wrote to update to v2:

Thank you for this!

-- Protesilaos Stavrou https://protesilaos.com

DamienCassou commented 2 months ago

This is just the new trend in typography, haha!

not sure I will get used to it though :-D

I think you just need to restart Emacs for it to read the new files.

I unfortunately rebooted the computer before reporting the issue. The screenshot is after the reboot.

Thank you for this!

Thank you for this awesome font I'm using everywhere (desktop, web browser, Emacs...).

protesilaos commented 2 months ago

From: Damien Cassou @.***> Date: Sat, 31 Aug 2024 01:02:42 -0700

[... 5 lines elided]

I think you just need to restart Emacs for it to read the new files.

I unfortunately rebooted the computer before reporting the issue. The screenshot is after the reboot.

Oh, this is bad! Could it be some sandboxing issue on the Nix front? I am not sure how things work there... Put differently, does it work if you put the font files inside ~/.local/share/fonts? This assumes you are using fontconfig.

Thank you for this!

Thank you for this awesome font I'm using everywhere (desktop, web browser, Emacs...).

You are welcome! I enjoy doing this because I also use it everywhere.

-- Protesilaos Stavrou https://protesilaos.com

DamienCassou commented 2 months ago

Put differently, does it work if you put the font files inside ~/.local/share/fonts?

I'm using fontconfig and putting font files in ~/.local/share/fonts while removing them from Nix still shows the problem. Renaming these files from .ttf to .ttf.bak solves the problem immediately and renaming them back makes the problem reappear.

Here are the list of font files and each file size:

| 8565756 | .local/share/fonts/iosevka-comfy-motion-duo-normalbolditalic.ttf.bak | | 8232284 | .local/share/fonts/iosevka-comfy-motion-duo-normalboldupright.ttf.bak | | 8625536 | .local/share/fonts/iosevka-comfy-motion-duo-normalextrabolditalic.ttf.bak | | 8309840 | .local/share/fonts/iosevka-comfy-motion-duo-normalextraboldupright.ttf.bak | | 8553872 | .local/share/fonts/iosevka-comfy-motion-duo-normallightitalic.ttf.bak | | 8231888 | .local/share/fonts/iosevka-comfy-motion-duo-normallightupright.ttf.bak | | 8518220 | .local/share/fonts/iosevka-comfy-motion-duo-normalmediumitalic.ttf.bak | | 8231796 | .local/share/fonts/iosevka-comfy-motion-duo-normalmediumupright.ttf.bak | | 8454944 | .local/share/fonts/iosevka-comfy-motion-duo-normalregularitalic.ttf.bak | | 8158412 | .local/share/fonts/iosevka-comfy-motion-duo-normalregularupright.ttf.bak | | 8550572 | .local/share/fonts/iosevka-comfy-motion-duo-normalsemibolditalic.ttf.bak | | 8228684 | .local/share/fonts/iosevka-comfy-motion-duo-normalsemiboldupright.ttf.bak | | 8467664 | .local/share/fonts/iosevka-comfy-motion-duo-normalsemilightitalic.ttf.bak | | 8141324 | .local/share/fonts/iosevka-comfy-motion-duo-normalsemilightupright.ttf.bak | | 8489592 | .local/share/fonts/iosevka-comfy-motion-normalbolditalic.ttf.bak | | 8189004 | .local/share/fonts/iosevka-comfy-motion-normalboldupright.ttf.bak | | 8540260 | .local/share/fonts/iosevka-comfy-motion-normalextrabolditalic.ttf.bak | | 8256268 | .local/share/fonts/iosevka-comfy-motion-normalextraboldupright.ttf.bak | | 8416748 | .local/share/fonts/iosevka-comfy-motion-normallightitalic.ttf.bak | | 8180336 | .local/share/fonts/iosevka-comfy-motion-normallightupright.ttf.bak | | 8446148 | .local/share/fonts/iosevka-comfy-motion-normalmediumitalic.ttf.bak | | 8127928 | .local/share/fonts/iosevka-comfy-motion-normalmediumupright.ttf.bak | | 8393420 | .local/share/fonts/iosevka-comfy-motion-normalregularitalic.ttf.bak | | 8090076 | .local/share/fonts/iosevka-comfy-motion-normalregularupright.ttf.bak | | 8478480 | .local/share/fonts/iosevka-comfy-motion-normalsemibolditalic.ttf.bak | | 8161424 | .local/share/fonts/iosevka-comfy-motion-normalsemiboldupright.ttf.bak | | 8391616 | .local/share/fonts/iosevka-comfy-motion-normalsemilightitalic.ttf.bak | | 8091840 | .local/share/fonts/iosevka-comfy-motion-normalsemilightupright.ttf.bak | | 8494680 | .local/share/fonts/iosevka-comfy-normalbolditalic.ttf.bak | | 8125208 | .local/share/fonts/iosevka-comfy-normalboldupright.ttf.bak | | 8503020 | .local/share/fonts/iosevka-comfy-normalextrabolditalic.ttf.bak | | 8156164 | .local/share/fonts/iosevka-comfy-normalextraboldupright.ttf.bak | | 8408164 | .local/share/fonts/iosevka-comfy-normallightitalic.ttf.bak | | 8089520 | .local/share/fonts/iosevka-comfy-normallightupright.ttf.bak | | 8421640 | .local/share/fonts/iosevka-comfy-normalmediumitalic.ttf.bak | | 8051740 | .local/share/fonts/iosevka-comfy-normalmediumupright.ttf.bak | | 8378924 | .local/share/fonts/iosevka-comfy-normalregularitalic.ttf.bak | | 8034704 | .local/share/fonts/iosevka-comfy-normalregularupright.ttf.bak | | 8496568 | .local/share/fonts/iosevka-comfy-normalsemibolditalic.ttf.bak | | 8138544 | .local/share/fonts/iosevka-comfy-normalsemiboldupright.ttf.bak | | 8348188 | .local/share/fonts/iosevka-comfy-normalsemilightitalic.ttf.bak | | 8023620 | .local/share/fonts/iosevka-comfy-normalsemilightupright.ttf.bak |

Here are some changes between the 2 versions (some updates are smaller and others are larger): 2024-09-01_18-49

protesilaos commented 2 months ago

From: Damien Cassou @.***> Date: Sun, 1 Sep 2024 11:34:12 -0700

Put differently, does it work if you put the font files inside ~/.local/share/fonts?

I'm using fontconfig and putting font files in ~/.local/share/fonts while removing them from Nix still shows the problem. Renaming these files from .ttf to .ttf.bak solves the problem immediately and renaming them back makes the problem reappear.

This is bizarre... I have no good explanation for it. Can it be some caching issue? Otherwise, why would a slight change to the name produce the desired results.

[... 46 lines elided]

Here are some changes between the 2 versions (some updates are smaller and others are larger): 2024-09-01_18-49

I assume this is due to the changes made upstream. They probably reworked more of the "motion" characters than the "wide" ones.

Does the "wide+motion" variant have a larger increase than the regular "wide"?

-- Protesilaos Stavrou https://protesilaos.com

DamienCassou commented 2 months ago

why would a slight change to the name produce the desired results

changing the filename from .ttf to .ttf.bak hides the font from the system which searches only for .ttf files. When I say "solves the problem immediately", I mean, "acts as if the font was uninstalled": because iosevka-comfy is not found anymore, my system displays a default font which doesn't have the problem mentioned in this issue.

Can it be some caching issue?

definitely not. As soon as I install iosevka-comfy, my system starts showing problems. As soon as I remove it, it starts working. After rebooting, the problem persists.

idlip commented 1 month ago

Hi @DamienCassou ,

I was able to use 2.0 via github tar file and keeping it in .local/share/fonts in emacs. I use nixos too.

I did not install the fonts via nix pkm as of now.

Let me know if I can reproduce and help to find the cause.

Btw as I extracted, I kept it in ~/.local/share/fonts/ directory and immediately it worked with terminal and emacs -Q. No reboot was done.

DamienCassou commented 1 month ago

I've stopped using iosevka-comfy because of this issue as I spent too much time on it and had no more idea what to do. Feel free to close the issue.

protesilaos commented 1 month ago

From: Damien Cassou @.***> Date: Sun, 13 Oct 2024 06:50:05 -0700

I've stopped using iosevka-comfy because of this issue as I spent too much time on it and had no more idea what to do. Feel free to close the issue.

I am sorry for the trouble. I don't know what to do about this. Maybe if I rebuild the font on top of the latest Iosevka? They have a new major version out, anyway.

I will try to do this rebuild either today or tomorrow. I cannot guarantee that it will fix the problem, but it is the only idea that comes to mind.

-- Protesilaos Stavrou https://protesilaos.com

protesilaos commented 1 month ago

I rebuilt the fonts and tested that there are no stylistic regressions. Pushing the changes now. Hopefully this fixes the issue. Again, I cannot reproduce it on my end and have no idea what may have caused it.

SpringerJack commented 1 month ago

I do not think the issue lies with this project. I have v2.0.0 installed system wide from NixOS unstable and it looks splendid as ever. I also tried installing the fonts with home-manager which also seems to work fine.

I fail to see how adding the fonts manually to .local/share/fonts would still not work unless there were still some cached remnants that should be removed. Maybe rebuilding it with fc-cache -f would help? It would also be interesting if rebuilding @DamienCassou's config on a new machine would still reproduce this issue.

DamienCassou commented 1 month ago

I've updated to 2.1.0, ran fc-cache -f, logged out and here how my emails look right now: 2024-10-24_21-53

My font setup is built from this home-manager configuration:

{ pkgs, ... }@args:

{
  stylix = {
    enable = true;
    image = ./wallpaper.jpg;
    base16Scheme = ./modus-operandi-theme.yaml;
    targets.emacs.enable = false;

    fonts = {
      serif = {
        package = pkgs.iosevka-comfy.comfy-motion-duo;
        name = "Iosevka Comfy Motion Duo";
      };

      sansSerif = {
        package = pkgs.iosevka-comfy.comfy-wide-duo;
        name = "Iosevka Comfy Wide Duo";
      };

      monospace = {
        package = pkgs.iosevka-comfy.comfy-wide;
        name = "Iosevka Comfy Wide";
      };
    };
  };

  imports = [ ((import ../../stylix).homeManagerModules.stylix args) ];
}

and this Emacs configuration

(use-package fontaine
  :demand t
  :init
  (progn
    (setq fontaine-presets
          '((medium
             :default-height 110)
            (large
             :default-weight semilight
             :default-height 140
             :bold-weight extrabold)
            (t
             :default-family "Iosevka Comfy"
             :default-weight regular
             :variable-pitch-family "Iosevka Comfy Motion Duo"
             :italic-family "Iosevka Comfy Motion"
             :italic-slant italic))))
  :config
  (progn
    (fontaine-set-preset 'large)))
protesilaos commented 1 month ago

This is really bad @DamienCassou. I am sorry, but I have no idea what is happening. Hopefully the others in this thread can help out.

idlip commented 1 month ago

Hi @DamienCassou

Can you please provide us more pointers to reproduce?

I'm not experienced nix user nor expert as you though, but hope so I can help someway.

  1. May I know if it only happens in emacs, if so with emacs-pgtk build on sway does it work?
    • If only on emacs, what about pkgs.emacs from nixpkgs?
  2. On terminal does it work?

I'm on unstable september revision, it works here. I will give a roll to latest revision soon.

Last resort is to basically do replica of your config.

DamienCassou commented 2 weeks ago

Hi @idlip,

I wanted to answer you sooner but I've been sick and very busy. I feel better now but I still don't have much time. The problem only happens in Emacs which I'm building through home-manager. My home-manager config is at: https://github.com/DamienCassou/nix-system. My Emacs configuration is at: https://github.com/DamienCassou/emacs.d. 2 elements are of importance here:

In these files, I'm currently using JetBrains Mono and Atkinson Hyperlegible because Iosevka Comfy doesn't work.

DamienCassou commented 2 weeks ago

@protesilaos feel free to close the issue whenever you want.

protesilaos commented 1 week ago

Closing now, thanks!