Comments (7)
You are welcome. If there is ever a reasonably widely used font that supports only COLRv1 without COLRv0 fallbacks we can reconsider, but as it stands I dont think the performance hit is worth it. Using pre-rendered bitmaps for emoji works fine.
from kitty.
Works fine for me with Segoe UI Emoji which uses COLRv1
kitty --config=None --debug-font-fallback -o 'symbol_map U+1f63a Segoe UI Emoji' sh -c 'printf "\U1f63a"; read'
from kitty.
Thanks for so prompt reply!
It indeed works with Segoe UI Emoji, but no luck with COLRv1 variant Noto Color Emoji:
kitty --config=None --debug-font-fallback -o 'symbol_map U+1f63a Noto Color Emoji' sh -c 'printf "\U1f63a"; read'
Also I noticed that the Segoe UI Emoji displayed by Kitty (left) is different from the one in GTK (right):
This is most likely because the Segoe UI Emoji is a hybrid font that supports both COLRv1 and COLRv0, and Kitty actual displayed COLRv0 glyphs.
from kitty.
Works fine with Noto Color Emoji as well
kitty --config=None --debug-font-fallback -o 'symbol_map U+1f63a Noto Color Emoji' sh -c 'printf "\U1f63a"; read'
Presumably that has bitmap fallbacks too?
from kitty.
Maybe the COLRv1 version share the same font name Noto Color Emoji
with the CDBT version packaged by most distros (assuming your system has the both installed).
Anyway, I suppose we could simply try to scale the interface large enough to determine if it is in CBDT or COLR format:
CBDT (packaged by Archlinux):
COLRv1 (packaged by the PKGBUILD):
pkgname=noto-color-emoji
pkgver=2.042
pkgrel=1
epoch=1
pkgdesc='Google Noto color emoji font using COLRv1'
arch=(any)
url='https://www.google.com/get/noto/'
license=(custom:OFL)
provides=(noto-fonts-emoji emoji-font)
conflicts=(noto-fonts-emoji)
source=(
NotoColorEmoji.ttf::https://github.com/googlefonts/noto-emoji/raw/v$pkgver/fonts/Noto-COLRv1.ttf
LICENSE::https://github.com/googlefonts/noto-emoji/raw/v$pkgver/LICENSE
)
sha256sums=('d5ce808f06f4776023202c22441d03d7e57f8980091d2107404438592f2b62f6'
'c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4')
package() {
mkdir -p "$pkgdir"/usr/share/fonts/noto
install -m644 NotoColorEmoji.ttf "$pkgdir"/usr/share/fonts/noto/
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
from kitty.
Well given that the distro packaged fonts include color bitmaps, whats the motivation for supporting rendering of SVG? It's much slower/wasteful of CPU cycles.
from kitty.
Well, I would have thought that with FreeType supporting COLRv1, Kitty could easily support it like COLRv0.
Since the harms outweigh the benefits, it doesn't count as an enhancement and duplicates #2691.
Thanks for your hard work!
from kitty.
Related Issues (20)
- Error on start: "EGL: Failed to create window surface: Arguments are inconsistent" HOT 8
- hints kitten with customized processing crashes with slice out of bounds on certain input HOT 1
- Linux Libertine Mono doesn't load HOT 2
- Feature request: show date each window was created in `kitty @ ls`.
- keyboard protocol: clarification on locked modifiers HOT 6
- Support for ESC X character strings
- Cursor doesnt change HOT 6
- Editor configuration not respected when opening file hints HOT 4
- Add Yazi terminal file manager to the list of software implementing kitty's keyboard protocol
- Kitty paste_from_clipboard + <cmd-v> interaction HOT 1
- Kitty @ ls doesn't seem to match properly on mac os HOT 2
- an option for kitty @ send-text to fail if no terminals match HOT 1
- Font rendering HOT 2
- Feature request: tab_title_program HOT 1
- Missing modifier release events on window focus change HOT 2
- allow selecting and copying text using the keyboard HOT 3
- [fish shell integration] repaint removes text printed by fish key binding HOT 2
- Mouse pointer abnormally large under KDE Plasma 6 HOT 3
- Kitty background opaque with transparency set after building kitty 0.32 from AUR on Plasma 6 HOT 15
- toggle_tab action (similar to toggle_layout)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kitty.