On Thu, 10 Sep 2009, Linda W wrote:
> (If you can't read this *_in HTML_*, you are deprived, and maybe, in the
> internet "3rd world", my condolences, as documents structure can't be
> properly represented in plain text, (unless your eyes have built-in
> XML/HTML or LaTeX code interpretation).


I think that your claim is ungrounded, the following is the same
document in plain text.


  • Contents

      □ Current Problem

      □ Desired Enhancement 1:   Font Lists, acting as fall-through backups for 
missing chars

      □ Desired Enhancement 2:   Support of Font Families



Current problem:

(If you can't read this in HTML, you are deprived, and maybe, in the internet 
"3rd world", my condolences, as
documents structure can't be properly represented in plain text, (unless your 
eyes have built-in XML/HTML or
LaTeX code interpretation).

I've been trying to use better fonts and Unicode usage in my work (email, web 
pages, etc).  Of source, using Vim
for just about everything (Does anyone know of a Thunderbird extension to 
automatically allow or call Vim to
edit dir Thunderbird composition --- especially when one switches into 
'Source(HTML)' mode...that editor *sucks*
big-time..., but I digress.

I really am getting discouraged with the fonts available to me in monospaced 
fonts.

The only ones that look halfway readable are the Lucida family...followed by 
the Monospace 821.  .  New courier
is just too thin.  Consolas isn't much better (a free font
download from MS, no less!)

    My font (in Truetype or OpenType) list has: several monospace fonts that 
specialize in the CJK  block, but
non of those have great latin rendering and little coverage for Unicode blocks 
outside of the CJK blocks  those
include:  (all the 'che variations seem to be the monospace ones) Batang, Doton 
Gulim Gunshuh, Jurchen Krystoid,
MingLiU, MS Gothic, and MS Mincho.

The few that specialize in the Hebrew block, don't help me much: Fixed Miriam 
Transparent, Rod (& Rod
Transparent), neither the one in Arabic (Simplified Arabic Fixed).  Non 
Unicode, symbol-only or raster fonts I
won't mention in this listing.

Among the Unicode fonts, ones that have western font and western usage 
(symbols, etc) coverage , I list the
number of Unicode blocks they cover as well as total characters in the font.  
There are only 9 choices on my
system, (though I describe one's coverage in detail with the lament that for 
some unknown reason, it isn't
offered on the list, though it's 2nd plane 'cousin' is):


┌─────────────────────┬──────┬───────────┬──────────────────────────────┐
│Name                 │Blocks│Total-Chars│  Comments                    │
├─────────────────────┼──────┼───────────┼──────────────────────────────┤
│Andale Mono          │22,   │654        │                              │
├─────────────────────┼──────┼───────────┼──────────────────────────────┤
│Bitstream Vera Sans  │12    │256        │                              │
│Mono                 │      │           │                              │
├─────────────────────┼──────┼───────────┼──────────────────────────────┤
│Code2002             │11    │20,409     │  [sic/broken] this entry is  │
│                     │(CJK) │           │broken                        │
└─────────────────────┴──────┴───────────┴──────────────────────────────┘


     

    Note on Code2002:  It is the 3rd font in a 3 font series (Code2000, 
Code2001, and Code2002, all available
    for very low (as low as $0) price (shareware(non-crippled)) or freeware 
from http://www.code2000.net/). All
    are monospaced fonts. Code2000 was for our first 64K (MS's initial UCS-2 
set for NT4) code plane.  When
    discovering 64K was no where near enough, more planes were added.  Code2001 
is for Unicode Plane 1 and
    Code2002 is for plane 2.  Code 2000 -- the one that contains the latin 
characters doesn't show up as a
    choice, though it should -- they are all monospaced fonts;  Code2002 is 
useless for Latin fonts (has 95/128
    of Basic, 1/128 of Ext-A, 1/208 of Ext-B 96/129 of Supplement-1, 1/80 of 
Spacing modifiers), vs "Code2000"
    which is designed to cover Plane 1 (first 64K),  which has 118 blocks and 
54,068 chars).  It's not the most 
    excellent looking (at 1024^2 points per char) it was designed with less 
resolution than MS's TTF fonts, like
    Lucida Console (@4096^2 ppc), BUT on the list of unicode fonts it's pretty 
darn good, and probably 2nd best
    after the top MS fonts (which have no where near the coverage -- it could 
be there's a tradeoff -- 4x4 or 16
    times the resolution/char OR 54,068/663 = 81 times the coverage.


    Of Latin usable chars, it has

          ☆ all alphabetic presentation forms (58/58),
          ☆ all arrows(112/112),
          ☆ 95/128 of Basic Latin
          ☆ all the Box drawing chars (128/128),
          ☆ all Braille Patterns (256/256)
          ☆ Combining diacriticals [like accents over chars) (112/112)
          ☆ Combining for symbols (28/33) & supplement (13/41) & half marks(4/7)
          ☆ control pics (symbols for the control characters below like "LF", 
TAB, CR"; 39/39);
          ☆ 22/22 Currency symbols 174/174 Dingbats (all the special symbols 
designed by the designer "Zapf"
            last century)
          ☆ 160/160 Enclosed alpha numerics
          ☆ 106/107 General Puncuntuation
          ☆ Greek symbols (2 blocks: 134/134+233/233)
          ☆ halfwidth and full width forms (including !!colon!! that you can 
put in Windows (and linux)
            filenames: "file:foobar" (the character after 'file' and before 
'foobar' is a single character
            composed of a colon and an embeded space.  It is legal in WinXP and 
above and linux  (and likely
            MAC) if you are using UTF-8.  It displays as a colon followed by a 
space!  So in a linux shell, you
            don't need to quote it -- it's not a space breaking character!
          ☆ Then 6 Latin extended blocks "extended additional(256/25), 
A(128/128) B(208/208) C(29/29), D(114/
            114) & Latin-1 Supple(96/128)
          ☆ Letter like symbols (like the C for Centigrade, or 'c/o' as a 
single char(80/80)
          ☆ Mathematical Operators (256/256), Math symbols A (44/44), B(128/128)
          ☆ Misc Symbols(183/191), Misc Sym+Arrows(82/82)
          ☆ Misc Technical (228/232)
          ☆ Number Forms (Roman numberals, fractions, et al) (54/54)
          ☆ OCR (11/11)
          ☆ Phonetic Extensions (128/128) & Supplements (64/64) (for 
pronuncation)
          ☆ Spacing modifiers (including small spaces, the ever used &nbsp, 
(80/80)
          ☆ Superscripts/subscripts (29/34)
          ☆ Supplemental: Arrows A(16/16), Arrows B(128/128), Math(256/256) and 
Punctuation(49/49)

    AND a bunch of foreign languages symbols ... but due to some bug, 
somewhere, and I don't think it is in Vim,
    since it is also in 'SecureCRT' 
(http://www.vandyke.com/products/securecrt/index.html), my Win->lin TTY
    program (that also supports UTF-8) has same font list as Vim and includes 
Code2002, but not Code 2000. Grrr!
    It seems like it's some bit not set right somewhere, so Windows isn't 
displaying the correct font list...or,
    it's JAMSB (Just another MicroSoft Bug) :-).


Continuing, a few last fonts...other fonts:

┌─────────────────────┬────────────┬────────────────────────────────────┐
│Name                 │blocks,chars│ Comments                           │
├─────────────────────┼────────────┼────────────────────────────────────┤
│Courier New          │(28, 1230)  │but this font isn't easy on the eyes│
├─────────────────────┼────────────┼────────────────────────────────────┤
│DejaVu Sans Mono     │(39, 2900)  │                                    │
├─────────────────────┼────────────┼────────────────────────────────────┤
│Everson Mono         │(67, 6391)  │2nd best coverage, poor readability)│
├─────────────────────┼────────────┼────────────────────────────────────┤
│Lucida Console       │(22, 663)   │Best readable (IMO)                 │
├─────────────────────┼────────────┼────────────────────────────────────┤
│Lucida SansTypewriter│(12, 240)   │fairly good read, taller/thinner    │
└─────────────────────┴────────────┴────────────────────────────────────┘


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Desired Enhancement 1:   Font Lists, acting as fall-through backups for missing 
chars


I'd first like something like the 'guifontset' option work to automatically use 
successive entries on the font
list as 'fallback' entries if the character being displayed isn't in the 
currently selected font.  That way, I
can have my primary, and a backup, and, possibly a catchall, though I could see 
this being also used to support
multiple families -- like if I write in Cherokee, I could have a Cherokee font 
in my list, and when I typed in
that font, Gvim  would automatically fall through the fonts that don't have 
those chars mapped,
and would display chars from a font with those chars mapped.

I would expect that the fonts would be examined once, on startup, with maybe a 
'cache-file' being created, of
the mappings (if the examination process takes any appreciable length of 
time).  Once examined, the mappings
could be used automatically at runtime.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Desired Enhancement 2:   Support of Font Families

If this were supported, one could actually specify what font to use for what 
named Unicode block. 
The names of the blocks are published and can be tested.  Perl has had this 
support for a few years, for example
(man perlunicode).  All of the information on the ranges and glyph names can be 
found on "http://www.unicode.org
" . 

The data files are in the directory "http://www.unicode.org/Public/UNIDATA/";.   
Under that, Scripts.txt tells
the different scripts one can write in.  An excellent reference for all of this 
(which seems to be 'the Bible'
for fonts and encodings is the book, "Fonts & Encodings by Yannis 
Haralambous".  It has all of the URLS in there
as well as usage of the tools to deal with the fonts. 

One tool (2 tools together, actually), I might recommend for exploring the 
different font mappings (it can allow
you to create a "Composite" mapping using all the fonts on your system, of as 
many of the Unicode characters as
possible are tools "Babelmap and Babelpad".  Best of all, they are Free!  
Bablemap can be used to create an XML
file that maps fonts to each of the scripts (well, all of the scripts you have 
fonts for, anyway).  It's similar
to the Windows "Character Map" program, but on steroids!   It's only on Windows 
(Mac and X users have other
tools mentioned in the book), and supports up to Unicode V 5.1.0 
[http://www.unicode.org/versions/Unicode5.1.0/
].  It's website is "http//:www.BabelStone.co.uk/Software/BabelMap.html".

Using a config tool like that, one could define a complete set of fonts to use 
within another program (like
Vim!)  to provide font mapping.

I know Enhancement 2 might be a ways away, but would #1 be doable in any near 
time frame?


Thanks,
Linda







-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to