diff options
-rw-r--r-- | apps/ex15.mu | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/apps/ex15.mu b/apps/ex15.mu index 3f0d32bc..51bfc1db 100644 --- a/apps/ex15.mu +++ b/apps/ex15.mu @@ -14,11 +14,15 @@ # 2. Run: # qemu-system-i386 -hda code.img -hdb data.img # -# Expected output: -# 'à' in green in a few places near the top-left corner of screen, showing off -# what this approach can and cannot do. +# Expected output, showing off what this approach can and cannot do: +# 'à' in green in a few places near the top-left corner of screen, with +# other letters nearby showing cases where characters blend to the eye. # -# A few Devanagari letter combinations. +# A few Devanagari letter combinations. Devanagari works well except for +# characters blending together. +# +# A few Tamil letter combinations. Tamil often doesn't look right, and +# requires ligatures for many letter combinations. # # Others? (Patches welcome.) I suspect Tibetan in particular will not work # well with this approach. But I need native readers to assess quality. @@ -78,7 +82,7 @@ fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk) var dummy/eax: int <- draw-code-point-on-real-screen 0x0915/devanagari-letter-ka, 0x13/x 9/y, 3/fg 0/bg var dummy/eax: int <- overlay-code-point-on-real-screen 0x0903/devanagari-visarga, 0x13/x 9/y, 3/fg 0/bg - # render the same letters as a single stream of utf-8 graphemes rather than individual code-points. + # render the same devanagari letters as a single stream of utf-8 graphemes rather than individual code-points. var text-storage: (stream byte 0x200) var text/esi: (addr stream byte) <- address text-storage var g/eax: grapheme <- to-grapheme 0x0915/devanagari-letter-ka @@ -132,4 +136,14 @@ fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk) # render everything set-cursor-position screen, 4/x 0xe/y draw-stream-wrapping-right-then-down-from-cursor-over-full-screen screen, text, 3/fg 0/bg + + # a stream of tamil graphemes (with interspersed spaces for clarity) that don't look the same in Mu + set-cursor-position 0, 4/x 0x12/y + draw-text-wrapping-right-then-down-from-cursor-over-full-screen 0, "எ ஃ கு ", 3/fg 0/bg + set-cursor-position 0, 4/x 0x13/y + draw-text-wrapping-right-then-down-from-cursor-over-full-screen 0, "அ ன் று ", 3/fg 0/bg + set-cursor-position 0, 4/x 0x14/y + draw-text-wrapping-right-then-down-from-cursor-over-full-screen 0, "அ தா வ து " , 3/fg 0/bg + set-cursor-position 0, 4/x 0x15/y + draw-text-wrapping-right-then-down-from-cursor-over-full-screen 0, "அ ஃ தா ன் று ", 3/fg 0/bg } |