4 ms·
Are you considering accessibility in your project at all? What do you use for controls, native OS objects or something custom drawn? If the latter, you're in f
by miki123211 3y ago
Are you considering accessibility in your project at all?
What do you use for controls, native OS objects or something custom drawn? If the latter, you're in for a word of pain with screen reader compatibility, internationalization, right-to-left languages, handling of Asian input methods etc.
- elcritch 3y agoNot currently but it's on my mind and I'm using utf8 for text with utf-32 for rendering. Good links for screen reader info are welcome! > If the latter, you're in for a word of pain with screen reader compatibility, internationalization, right-to-left languages, handling of Asian input methods etc. Custom drawn, and yep it's a pain! Actually emoji's seem the hardest (e.g. smiley face + skin tone). The windowing library I'm building upon uses the OS'es input method editors (IME). For example MacOS'es functions for composing letters like `é` already works. Hopefully Asian input methods will work via the OS'es IME. Luckily I know a bit of (modern) Hebrew, so I'll can add basic RTL languages soon.
- ddlsmurf 3y agoWhy not use something like pango, libschrift, etc ? Text rendering is a hard problem, moreso one cross-platform...
- elcritch 3y agoIs it hard! Font rendering is handled by Pixie and the guys who wrote it made a great NimConf video showing that https://www.youtube.com/watch?v=8acDfUIwLnk https://www.youtube.com/watch?v=8acDfUIwLnk Pixie can render svg and ttf fonts with unicode in addition to drawing the shapes used for boxes and lines (e.g. like pango+cairo). It's SIMD optimized, very fast, and pure Nim so cross platform. The challenge I mentioned with emojis is text selection and cursor movement when dealing with multi-grapheme characters. :) edit: see https://youtu.be/8acDfUIwLnk?si=1EAUwUNZqje88J86&t=382 https://youtu.be/8acDfUIwLnk?si=1EAUwUNZqje88J86&t=382 where they discuss how hard Text is
- ddlsmurf 3y agoI didn't know Pixie, thanks !