60 lines
2.6 KiB
EmacsLisp
60 lines
2.6 KiB
EmacsLisp
;;; test.el --- Visual QA: Compositions & Special Scripts -*- lexical-binding: t; -*-
|
|
;;
|
|
;; GPU: emacs --no-init-file -l qa/03-compositions/test.el
|
|
;; Vanilla: EMACS_GPU_DISABLE=1 emacs --no-init-file -l qa/03-compositions/test.el
|
|
|
|
(let ((buf (get-buffer-create "*QA: Compositions*")))
|
|
(with-current-buffer buf
|
|
(erase-buffer)
|
|
(setq buffer-read-only nil)
|
|
|
|
(insert (propertize "=== Compositions & Special Scripts QA ===\n\n"
|
|
'face '(:weight bold :height 1.3)))
|
|
|
|
;; Combining characters
|
|
(insert (propertize "── Combining characters (both lines must look identical) " 'face 'shadow)
|
|
(make-string 8 ?─) "\n")
|
|
(insert "Precomposed: café naïve résumé Ångström crème brûlée\n")
|
|
;; Same strings built from base + combining codepoints
|
|
(insert (concat "Combined: café"
|
|
" naïve"
|
|
" résumé"
|
|
" A̋ngström"
|
|
" crème brûlée\n\n"))
|
|
|
|
;; Arabic
|
|
(insert (propertize "── Arabic — right-to-left, joined glyphs " 'face 'shadow)
|
|
(make-string 22 ?─) "\n")
|
|
(insert "بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ\n")
|
|
(insert "مرحبًا بالعالم — Hello World in Arabic\n\n")
|
|
|
|
;; Hebrew
|
|
(insert (propertize "── Hebrew — right-to-left " 'face 'shadow)
|
|
(make-string 38 ?─) "\n")
|
|
(insert "שָׁלוֹם עוֹלָם — Shalom Olam (Hello World)\n")
|
|
(insert "אבגדהוזחטיכלמנסעפצקרשת\n\n")
|
|
|
|
;; Mixed BiDi
|
|
(insert (propertize "── Mixed BiDi — English + Arabic on same line " 'face 'shadow)
|
|
(make-string 17 ?─) "\n")
|
|
(insert "English left, ثُمَّ Arabic, then English again.\n")
|
|
(insert "Item 1: سلام — Item 2: hello — Item 3: مرحبا\n\n")
|
|
|
|
;; Devanagari
|
|
(insert (propertize "── Devanagari — conjunct forms " 'face 'shadow)
|
|
(make-string 32 ?─) "\n")
|
|
(insert "नमस्ते दुनिया — Namaste (Hindi)\n")
|
|
(insert "संस्कृतम् — Sanskrit\n")
|
|
(insert "क्ष त्र ज्ञ (conjunct consonants)\n\n")
|
|
|
|
;; Greek
|
|
(insert (propertize "── Greek " 'face 'shadow)
|
|
(make-string 55 ?─) "\n")
|
|
(insert "αβγδεζηθικλμνξοπρστυφχψω — lower\n")
|
|
(insert "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ — upper\n")
|
|
(insert "Ελληνικά — Greek (language name)\n\n")
|
|
|
|
(goto-char (point-min))
|
|
(setq buffer-read-only t))
|
|
(switch-to-buffer buf))
|