Unicode Tester

The file is called:
testUnicode.spad.pamphlet
and I have put it here:
https://github.com/martinbaker/multivector/

It is a very simple debug tool for unicode support which evolved when I was trying out unicode on FriCAS.

The idea is that if a user has a problem with unicode not displaying, and if this code were distributed with FriCAS, then the user can then call testUnicodeConsole. This function outputs various mathematical related unicode symbol blocks.

This should allow the user to check whether their are appropriate fonts for these symbol blocks installed on their system. If support for a given character is missing it will be typically be displayed as
a rectangle. If there are no unicode characters displayed then the problem may be due to lack of support on the console, Lisp or platform that the user is working on.

One way to check this out might be to call testUnicodeFile to generate a file, then to try reading this file on a system where unicode is known to be installed.

Note: I am working with the binary distribution of FriCAS 1.1.1 so I can't try your patches until the next version is released. (I can't build with sbcl on OpenSUSE, only clisp)

BTW: Could the way that the testUnicodeConsole function displays a grid be used as an alternative for the horrible default text formatting used for matrix output?

(1) -> )library UCODE
testUnicode is already explicitly exposed in frame frame1
testUnicode will be automatically loaded when needed from 
      /home/martin/UCODE.NRLIB/UCODE
(1) -> testUnicodeConsole()
Unicode test
Greek lc:      α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς σ τ υ φ χ ψ ω
Greek uc:      Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ ΢ Σ Τ Υ Φ Χ Ψ Ω
Various :     ×÷±•°ðЃµØøÞþ†∫∂◊≤≥≠≈∞∈∀∃⊕⊗⊥
Mathematical Operators Block:
┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓
┃∀┃∁┃∂┃∃┃∄┃∅┃∆┃∇┃∈┃∉┃∊┃∋┃∌┃∍┃∎┃∏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃∐┃∑┃−┃∓┃∔┃∕┃∖┃∗┃∘┃∙┃√┃∛┃∜┃∝┃∞┃∟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃∠┃∡┃∢┃∣┃∤┃∥┃∦┃∧┃∨┃∩┃∪┃∫┃∬┃∭┃∮┃∯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃∰┃∱┃∲┃∳┃∴┃∵┃∶┃∷┃∸┃∹┃∺┃∻┃∼┃∽┃∾┃∿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃≀┃≁┃≂┃≃┃≄┃≅┃≆┃≇┃≈┃≉┃≊┃≋┃≌┃≍┃≎┃≏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃≐┃≑┃≒┃≓┃≔┃≕┃≖┃≗┃≘┃≙┃≚┃≛┃≜┃≝┃≞┃≟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃≠┃≡┃≢┃≣┃≤┃≥┃≦┃≧┃≨┃≩┃≪┃≫┃≬┃≭┃≮┃≯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃≰┃≱┃≲┃≳┃≴┃≵┃≶┃≷┃≸┃≹┃≺┃≻┃≼┃≽┃≾┃≿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⊀┃⊁┃⊂┃⊃┃⊄┃⊅┃⊆┃⊇┃⊈┃⊉┃⊊┃⊋┃⊌┃⊍┃⊎┃⊏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⊐┃⊑┃⊒┃⊓┃⊔┃⊕┃⊖┃⊗┃⊘┃⊙┃⊚┃⊛┃⊜┃⊝┃⊞┃⊟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⊠┃⊡┃⊢┃⊣┃⊤┃⊥┃⊦┃⊧┃⊨┃⊩┃⊪┃⊫┃⊬┃⊭┃⊮┃⊯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⊰┃⊱┃⊲┃⊳┃⊴┃⊵┃⊶┃⊷┃⊸┃⊹┃⊺┃⊻┃⊼┃⊽┃⊾┃⊿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⋀┃⋁┃⋂┃⋃┃⋄┃⋅┃⋆┃⋇┃⋈┃⋉┃⋊┃⋋┃⋌┃⋍┃⋎┃⋏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⋐┃⋑┃⋒┃⋓┃⋔┃⋕┃⋖┃⋗┃⋘┃⋙┃⋚┃⋛┃⋜┃⋝┃⋞┃⋟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⋠┃⋡┃⋢┃⋣┃⋤┃⋥┃⋦┃⋧┃⋨┃⋩┃⋪┃⋫┃⋬┃⋭┃⋮┃⋯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⋰┃⋱┃⋲┃⋳┃⋴┃⋵┃⋶┃⋷┃⋸┃⋹┃⋺┃⋻┃⋼┃⋽┃⋾┃⋿┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
Mathematical Symbols A Block:
┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓
┃⟀┃⟁┃⟂┃⟃┃⟄┃⟅┃⟆┃⟇┃⟈┃⟉┃⟊┃⟋┃⟌┃⟍┃⟎┃⟏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⟐┃⟑┃⟒┃⟓┃⟔┃⟕┃⟖┃⟗┃⟘┃⟙┃⟚┃⟛┃⟜┃⟝┃⟞┃⟟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⟠┃⟡┃⟢┃⟣┃⟤┃⟥┃⟦┃⟧┃⟨┃⟩┃⟪┃⟫┃⟬┃⟭┃⟮┃⟯┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
Mathematical Symbols B Block:
┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓
┃⦀┃⦁┃⦂┃⦃┃⦄┃⦅┃⦆┃⦇┃⦈┃⦉┃⦊┃⦋┃⦌┃⦍┃⦎┃⦏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⦐┃⦑┃⦒┃⦓┃⦔┃⦕┃⦖┃⦗┃⦘┃⦙┃⦚┃⦛┃⦜┃⦝┃⦞┃⦟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⦠┃⦡┃⦢┃⦣┃⦤┃⦥┃⦦┃⦧┃⦨┃⦩┃⦪┃⦫┃⦬┃⦭┃⦮┃⦯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⦰┃⦱┃⦲┃⦳┃⦴┃⦵┃⦶┃⦷┃⦸┃⦹┃⦺┃⦻┃⦼┃⦽┃⦾┃⦿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⧀┃⧁┃⧂┃⧃┃⧄┃⧅┃⧆┃⧇┃⧈┃⧉┃⧊┃⧋┃⧌┃⧍┃⧎┃⧏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⧐┃⧑┃⧒┃⧓┃⧔┃⧕┃⧖┃⧗┃⧘┃⧙┃⧚┃⧛┃⧜┃⧝┃⧞┃⧟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⧠┃⧡┃⧢┃⧣┃⧤┃⧥┃⧦┃⧧┃⧨┃⧩┃⧪┃⧫┃⧬┃⧭┃⧮┃⧯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⧰┃⧱┃⧲┃⧳┃⧴┃⧵┃⧶┃⧷┃⧸┃⧹┃⧺┃⧻┃⧼┃⧽┃⧾┃⧿┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
Mathematical Supplemental Block:
┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓
┃⨀┃⨁┃⨂┃⨃┃⨄┃⨅┃⨆┃⨇┃⨈┃⨉┃⨊┃⨋┃⨌┃⨍┃⨎┃⨏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⨐┃⨑┃⨒┃⨓┃⨔┃⨕┃⨖┃⨗┃⨘┃⨙┃⨚┃⨛┃⨜┃⨝┃⨞┃⨟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⨠┃⨡┃⨢┃⨣┃⨤┃⨥┃⨦┃⨧┃⨨┃⨩┃⨪┃⨫┃⨬┃⨭┃⨮┃⨯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⨰┃⨱┃⨲┃⨳┃⨴┃⨵┃⨶┃⨷┃⨸┃⨹┃⨺┃⨻┃⨼┃⨽┃⨾┃⨿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⩀┃⩁┃⩂┃⩃┃⩄┃⩅┃⩆┃⩇┃⩈┃⩉┃⩊┃⩋┃⩌┃⩍┃⩎┃⩏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⩐┃⩑┃⩒┃⩓┃⩔┃⩕┃⩖┃⩗┃⩘┃⩙┃⩚┃⩛┃⩜┃⩝┃⩞┃⩟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⩠┃⩡┃⩢┃⩣┃⩤┃⩥┃⩦┃⩧┃⩨┃⩩┃⩪┃⩫┃⩬┃⩭┃⩮┃⩯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⩰┃⩱┃⩲┃⩳┃⩴┃⩵┃⩶┃⩷┃⩸┃⩹┃⩺┃⩻┃⩼┃⩽┃⩾┃⩿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⪀┃⪁┃⪂┃⪃┃⪄┃⪅┃⪆┃⪇┃⪈┃⪉┃⪊┃⪋┃⪌┃⪍┃⪎┃⪏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⪐┃⪑┃⪒┃⪓┃⪔┃⪕┃⪖┃⪗┃⪘┃⪙┃⪚┃⪛┃⪜┃⪝┃⪞┃⪟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⪠┃⪡┃⪢┃⪣┃⪤┃⪥┃⪦┃⪧┃⪨┃⪩┃⪪┃⪫┃⪬┃⪭┃⪮┃⪯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⪰┃⪱┃⪲┃⪳┃⪴┃⪵┃⪶┃⪷┃⪸┃⪹┃⪺┃⪻┃⪼┃⪽┃⪾┃⪿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⫀┃⫁┃⫂┃⫃┃⫄┃⫅┃⫆┃⫇┃⫈┃⫉┃⫊┃⫋┃⫌┃⫍┃⫎┃⫏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⫐┃⫑┃⫒┃⫓┃⫔┃⫕┃⫖┃⫗┃⫘┃⫙┃⫚┃⫛┃⫝̸┃⫝┃⫞┃⫟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⫠┃⫡┃⫢┃⫣┃⫤┃⫥┃⫦┃⫧┃⫨┃⫩┃⫪┃⫫┃⫬┃⫭┃⫮┃⫯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⫰┃⫱┃⫲┃⫳┃⫴┃⫵┃⫶┃⫷┃⫸┃⫹┃⫺┃⫻┃⫼┃⫽┃⫾┃⫿┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
Arrows Block:
┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓
┃℀┃℁┃ℂ┃℃┃℄┃℅┃℆┃ℇ┃℈┃℉┃ℊ┃ℋ┃ℌ┃ℍ┃ℎ┃ℏ┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃ℐ┃ℑ┃ℒ┃ℓ┃℔┃ℕ┃№┃℗┃℘┃ℙ┃ℚ┃ℛ┃ℜ┃ℝ┃℞┃℟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃℠┃℡┃™┃℣┃ℤ┃℥┃Ω┃℧┃ℨ┃℩┃K┃Å┃ℬ┃ℭ┃℮┃ℯ┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃ℰ┃ℱ┃Ⅎ┃ℳ┃ℴ┃ℵ┃ℶ┃ℷ┃ℸ┃ℹ┃℺┃℻┃ℼ┃ℽ┃ℾ┃ℿ┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⅀┃⅁┃⅂┃⅃┃⅄┃ⅅ┃ⅆ┃ⅇ┃ⅈ┃ⅉ┃⅊┃⅋┃⅌┃⅍┃ⅎ┃⅏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⅐┃⅑┃⅒┃⅓┃⅔┃⅕┃⅖┃⅗┃⅘┃⅙┃⅚┃⅛┃⅜┃⅝┃⅞┃⅟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃Ⅰ┃Ⅱ┃Ⅲ┃Ⅳ┃Ⅴ┃Ⅵ┃Ⅶ┃Ⅷ┃Ⅸ┃Ⅹ┃Ⅺ┃Ⅻ┃Ⅼ┃Ⅽ┃Ⅾ┃Ⅿ┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃ⅰ┃ⅱ┃ⅲ┃ⅳ┃ⅴ┃ⅵ┃ⅶ┃ⅷ┃ⅸ┃ⅹ┃ⅺ┃ⅻ┃ⅼ┃ⅽ┃ⅾ┃ⅿ┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃ↀ┃ↁ┃ↂ┃Ↄ┃ↄ┃ↅ┃ↆ┃ↇ┃ↈ┃↉┃↊┃↋┃↌┃↍┃↎┃↏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃←┃↑┃->┃↓┃↔┃↕┃↖┃↗┃↘┃↙┃↚┃↛┃↜┃↝┃↞┃↟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃↠┃↡┃↢┃↣┃↤┃↥┃↦┃↧┃↨┃↩┃↪┃↫┃↬┃↭┃↮┃↯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃↰┃↱┃↲┃↳┃↴┃↵┃↶┃↷┃↸┃↹┃↺┃↻┃↼┃↽┃↾┃↿┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⇀┃⇁┃⇂┃⇃┃⇄┃⇅┃⇆┃⇇┃⇈┃⇉┃⇊┃⇋┃⇌┃⇍┃⇎┃⇏┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⇐┃⇑┃=>┃⇓┃⇔┃⇕┃⇖┃⇗┃⇘┃⇙┃⇚┃⇛┃⇜┃⇝┃⇞┃⇟┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⇠┃⇡┃⇢┃⇣┃⇤┃⇥┃⇦┃⇧┃⇨┃⇩┃⇪┃⇫┃⇬┃⇭┃⇮┃⇯┃
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
┃⇰┃⇱┃⇲┃⇳┃⇴┃⇵┃⇶┃⇷┃⇸┃⇹┃⇺┃⇻┃⇼┃⇽┃⇾┃⇿┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
                                                               Type: Void
(2) -> testUnicodeFile("testfile")
(3) -> testαSupport())
945
945
945
1α(1 0 . 1)
                                                               Type: Void

 


metadata block
see also:
Correspondence about this page

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.