Slide 1

Slide 1 text

ターミナルエミュ レータのKitty で文 字サイズ変更 Kenichiro Matohara(matoken) 1

Slide 2

Slide 2 text

matoken @ 鹿児島の右下の山奥から参加 好きなLinuxディストリビューションは Debian map: © OpenStreetMap contributors Kenichiro Matohara(matoken) https://matoken.org [email protected] 2

Slide 3

Slide 3 text

Kitty 0.40.0 release (同じ画面内で)テキストサイズを変更できるようになったらしい Allow terminal programs to use text in different font sizes (#8226) Changelog - kitty 3

Slide 4

Slide 4 text

Kitty 0.40.0 を用意 Debian sidはまだ(2025-03-13時点) $ rmadison kitty kitty | 0.13.3-1+deb10u1 | oldoldstable | source, amd64, arm64, armhf, i386 kitty | 0.13.3-1+deb10u1 | oldoldstable-debug | source kitty | 0.19.3-1 | oldstable | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, p kitty | 0.26.5-5 | stable | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, p kitty | 0.39.1-1 | testing | source, amd64, arm64, armel, armhf, i386, mips64el, ppc64el, kitty | 0.39.1-1 | unstable | source, amd64, arm64, armel, armhf, i386, mips64el, ppc64el, kitty | 0.39.1-1 | unstable-debug | source 5

Slide 5

Slide 5 text

kitty kitty Alpine Linux 3.15 Alpine Linux 3.15 0.23.1 0.23.1 Fedora 31 Fedora 31 0.19.2 0.19.2 OpenMandriva 4.3 OpenMandriva 4.3 0.24.2 0.24.2 Alpine Linux 3.16 Alpine Linux 3.16 0.25.0 0.25.0 Fedora 32 Fedora 32 0.20.3 0.20.3 OpenMandriva 5.0 OpenMandriva 5.0 0.31.0 0.31.0 Alpine Linux 3.17 Alpine Linux 3.17 0.26.5 0.26.5 Fedora 33 Fedora 33 0.21.2 0.21.2 OpenMandriva Rolling OpenMandriva Rolling 0.37.0 0.37.0 Alpine Linux 3.18 Alpine Linux 3.18 0.28.1 0.28.1 Fedora 34 Fedora 34 0.21.2 0.21.2 OpenMandriva Cooker OpenMandriva Cooker 0.37.0 0.37.0 Alpine Linux 3.19 Alpine Linux 3.19 0.31.0 0.31.0 Fedora 35 Fedora 35 0.25.2 0.25.2 openSUSE Leap 15.2 openSUSE Leap 15.2 0.16.0 0.16.0 Alpine Linux 3.20 Alpine Linux 3.20 0.31.0 0.31.0 Fedora 36 Fedora 36 0.26.5 0.26.5 openSUSE Leap 15.3 openSUSE Leap 15.3 0.16.0 0.16.0 Alpine Linux 3.21 Alpine Linux 3.21 0.37.0 0.37.0 Fedora 37 Fedora 37 0.26.5 0.26.5 openSUSE Leap 15.4 openSUSE Leap 15.4 0.23.1 0.23.1 Alpine Linux Edge Alpine Linux Edge 0.39.1 0.39.1 Fedora 38 Fedora 38 0.29.2 0.29.2 openSUSE Leap 15.5 openSUSE Leap 15.5 0.29.2 0.29.2 ALT Linux p10 ALT Linux p10 0.32.2 0.32.2 Fedora 39 Fedora 39 0.31.0 0.31.0 openSUSE Leap 15.6 openSUSE Leap 15.6 0.30.0 0.30.0 ALT Linux p11 ALT Linux p11 0.39.1 0.39.1 Fedora 40 Fedora 40 0.39.1 0.39.1 openSUSE Tumbleweed openSUSE Tumbleweed 0.40.0 0.40.0 ALT Sisyphus ALT Sisyphus 0.40.0 0.40.0 Fedora 41 Fedora 41 0.39.1 0.39.1 OpenWrt 24.10 x86_64 OpenWrt 24.10 x86_64 0.35.2 0.35.2 AOSC AOSC 0.38.1 0.38.1 Fedora Rawhide Fedora Rawhide 0.40.0 0.40.0 Parabola Parabola 0.39.1 0.39.1 Arch Linux Arch Linux 0.39.1 0.39.1 FreeBSD Ports FreeBSD Ports 0.40.0 0.40.0 Pardus 21 Pardus 21 0.19.3 0.19.3 Arch Linux 32 i486 Arch Linux 32 i486 0.25.0 0.25.0 Gentoo Gentoo 0.40.0 0.40.0 Parrot Parrot 0.26.5 0.26.5 Arch Linux 32 i686 Arch Linux 32 i686 0.29.2 0.29.2 GNU Guix GNU Guix 0.21.2 0.21.2 pkgsrc current pkgsrc current 0.40.0 0.40.0 Arch Linux 32 pentium4 Arch Linux 32 pentium4 0.29.2 0.29.2 Homebrew Casks Homebrew Casks 0.40.0 0.40.0 PureOS amber PureOS amber 0.13.3 0.13.3 Arch Linux ARM aarch64 Arch Linux ARM aarch64 0.39.1 0.39.1 Kali Linux Rolling Kali Linux Rolling 0.39.1 0.39.1 PureOS byzantium PureOS byzantium 0.19.3 0.19.3 ArchPOWER powerpc ArchPOWER powerpc 0.26.5 0.26.5 LiGurOS stable LiGurOS stable 0.39.0 0.39.0 PureOS landing PureOS landing 0.39.1 0.39.1 ArchPOWER powerpc64le ArchPOWER powerpc64le 0.39.0 0.39.0 LiGurOS develop LiGurOS develop 0.40.0 0.40.0 Raspbian Oldstable Raspbian Oldstable 0.19.3 0.19.3 ArchPOWER riscv64 ArchPOWER riscv64 0.39.0 0.39.0 MacPorts MacPorts 0.39.1 0.39.1 Raspbian Stable Raspbian Stable 0.26.5 0.26.5 AUR AUR 0.34.0.p1 0.34.0.p1 Mageia 8 Mageia 8 0.26.3 0.26.3 Raspbian Testing Raspbian Testing 0.39.1 0.39.1 Artix Artix 0.39.1 0.39.1 Mageia 9 Mageia 9 0.28.1 0.28.1 Rosa 2021.1 Rosa 2021.1 0.26.5 0.26.5 Artix Testing Artix Testing 0.40.0 0.40.0 Mageia cauldron Mageia cauldron 0.40.0 0.40.0 Rosa 13 Rosa 13 0.26.5 0.26.5 Chimera Linux Chimera Linux 0.39.1 0.39.1 Manjaro Stable Manjaro Stable 0.37.0 0.37.0 SlackBuilds SlackBuilds 0.38.1 0.38.1 Debian 10 Debian 10 0.13.3 0.13.3 Manjaro Testing Manjaro Testing 0.39.1 0.39.1 Solus Solus 0.40.0 0.40.0 Debian 11 Debian 11 0.19.3 0.19.3 Manjaro Unstable Manjaro Unstable 0.39.1 0.39.1 Spack Spack 0.12.3 0.12.3 Debian 12 Debian 12 0.26.5 0.26.5 MPR MPR 0.23.1 0.23.1 T2 SDE T2 SDE 0.40.0 0.40.0 Debian 13 Debian 13 0.39.1 0.39.1 nixpkgs stable 21.11 nixpkgs stable 21.11 0.23.1 0.23.1 Termux Termux 0.40.0 0.40.0 Debian Unstable Debian Unstable 0.39.1 0.39.1 nixpkgs stable 22.05 nixpkgs stable 22.05 0.25.2 0.25.2 Trisquel 10.0 Trisquel 10.0 0.15.0 0.15.0 deepin 20 deepin 20 0.13.3 0.13.3 nixpkgs stable 22.11 nixpkgs stable 22.11 0.26.2 0.26.2 Trisquel 11.0 Trisquel 11.0 0.21.2 0.21.2 deepin 23 deepin 23 0.35.2 0.35.2 nixpkgs stable 23.05 nixpkgs stable 23.05 0.28.1 0.28.1 Ubuntu 20.04 Ubuntu 20.04 0.15.0 0.15.0 Devuan 3.0 Devuan 3.0 0.13.3 0.13.3 nixpkgs stable 23.11 nixpkgs stable 23.11 0.31.0 0.31.0 Ubuntu 22.04 Ubuntu 22.04 0.21.2 0.21.2 Devuan 4.0 Devuan 4.0 0.19.3 0.19.3 nixpkgs stable 24.05 nixpkgs stable 24.05 0.34.1 0.34.1 Ubuntu 24.04 Ubuntu 24.04 0.32.2 0.32.2 Devuan Unstable Devuan Unstable 0.39.1 0.39.1 nixpkgs stable 24.11 nixpkgs stable 24.11 0.37.0 0.37.0 Ubuntu 24.10 Ubuntu 24.10 0.35.2 0.35.2 EPEL 8 EPEL 8 0.26.5 0.26.5 nixpkgs unstable nixpkgs unstable 0.40.0 0.40.0 Ubuntu 25.04 Ubuntu 25.04 0.39.1 0.39.1 EPEL 9 EPEL 9 0.26.5 0.26.5 OpenBSD Ports OpenBSD Ports 0.26.5 0.26.5 Void Linux x86_64 Void Linux x86_64 0.40.0 0.40.0 Exherbo Exherbo 0.39.1 0.39.1 OpenMandriva 4.1 OpenMandriva 4.1 0.15.1 0.15.1 Fedora 30 Fedora 30 0.16.0 0.16.0 OpenMandriva 4.2 OpenMandriva 4.2 0.19.3 0.19.3 6

Slide 6

Slide 6 text

たくさんのstatic binaryが置いてある sourceからのbuild GitHub releases page. 7

Slide 7

Slide 7 text

build from source $ sudo apt build-dep kitty $ git clone https://github.com/kovidgoyal/kitty $ cd kitty $ git branch v0.40.0 $ ./dev.sh build $ ./kitty/launcher/kitty --version kitty 0.40.0 created by Kovid Goyal 8

Slide 8

Slide 8 text

文字サイズ変更を試してみる うまくいかない? 設定ファイルを退避して起動しなおすことで動作するようになった → ~/.config/kitty/kitty.conf 10

Slide 9

Slide 9 text

 ドキュメントページ → The text sizing protocol - kitty printf "\e]66;s=2;Double sized text\a\n\n" printf "\e]66;s=3;Triple sized text\a\n\n\n" printf "\e]66;n=1:d=2;Half sized text\a\n" 11

Slide 10

Slide 10 text

日本語や絵文字も 12

Slide 11

Slide 11 text

上付き下付き $ printf "\e]66;n=1:d=2:w=2:v=2;中央\a\e]66;n=1:d=2:w=1:v=0;上\a\e]66;n=1:d=2:w=1:v=1;下\a\n" $ printf "\e]66;n=1:d=2:w=2:v=1;ねこ\a\n猫\n" 13

Slide 12

Slide 12 text

math より https://github.com/kovidgoyal/kitty/issues/8226#issuecomment- 2709409803 printf "\e]66;h=2:s=3;Σ\a\e]66;n=1:d=2:v=0;n\a\n(S\e]66;n=1:d=2:v=1;i\a + \ S\e]66;n=1:d=2:v=1;i+1\a)\n\e]66;n=1:d=2:v=1;i=1\a\n\n" printf "\e]66;s=2:w=3:v=2:n=1:d=2;f(x) = \a\e]66;h=2:s=2:v=2;∫\a\e]66;v=1; \ ∞\a\e]66;s=2:w=3:v=2:n=1:d=2;2πx\a\n\e]66;v=0;-∞\a\n\n\n" 14

Slide 13

Slide 13 text

patat やpresenterm などで使いたい 15

Slide 14

Slide 14 text

vtm の類似機能(Windows only) https://github.com/directvt/vtm/blob/master/doc/characte 16

Slide 15

Slide 15 text

まとめ 端末エミュレータのKittyが0.40.0でテキストサイズを変更できるよ うに 独自実装だが表現力が豊かに 初期の頃のワープロ以上になっていそう?(SHARPの書院で倍角 文字機能なんてものがあった) Kittyは あるが端末もアプリケーションも実装が 増えている このテキストサイズ変更も実装されていくかも? プレゼンテーション,ワープロ,文章ビュワー…… 独自画像表示機能も 17

Slide 16

Slide 16 text

奥付 発表 2025-03- 15(sat) 発表者 利用ソフトウェア + + ライセンス 東海道らぐ名古屋 2025年3月オフな集まり Kenichiro Matohara(matoken) Neovim textlint Asciidoctor Reveal.js CC BY 4.0 18

Slide 17

Slide 17 text

No content