I wondered how the number 780 was reached.
Having 0 to 3 lines above is a choice of 4.
Having 0 to 3 lines below is a choice of 4.
So there are 16 possible choices for each letter.
There are 52 letters.
So 16 choices for each of 52 letters is a total of 832 special characters.
As 780 is 52 less than 832 it seems that you are intending to use the ordinary alphabetic letters A..Z and a..z as representing the special characters where there is no line above and no line below. It is your project and it is your decision, yet it seems to me that it is worth considering whether it would be better to have 832 special characters in the Unicode Private Use Area rather than use the ordinary letters of the alphabet for some of them. It is alright to do this as Unicode uses the same glyph for different characters in some cases, for example the first letter of the Latin alphabet and the first letter of the Greek alphabet: this is where the meaning is different, even though the glyphs display the same as each other,
The following thread might be of interest.
http://forum.high-logic.com:9080/t/newby-question/2457/1
In that thread the question is about adding some special symbols for engineering to a font.
A quick glance at the following thread might be of interest: it features a font for representing instructions in a portable interpretable object code using character code points in the Unicode Private Use Area.
http://forum.high-logic.com:9080/t/a-font-for-some-experiments-in-computing/2197/1
I would suggest a logical layout for the code points that you choose to use. There is no need to use 780 or 832 code points in sequence.
For example, the following is one possible scheme.
U+E001 A
U+E002 B
.
.
U+E019 Y
U+E01A Z
U+E021 a
U+E022 b
.
.
U+E039 y
U+E03A z
Then 1 line above could be regarded as adding hexadecimal 40 to the value, 2 lines above could be regarded as adding hexadecimal 80 to the value and 3 lines above could be regarded as adding hexadecimal C0 to the value.
Then for the whole collection of 208 code points thus far, 1 line below could be regarded as adding hexadecimal 100 to the value, 2 lines below could be regarded as adding hexadecimal 200 to the value and 3 lines below could be regarded as adding hexadecimal 300 to the value.
That would produce 832 code point assignments for your special characters.
Well, they need to be generated and however it is achieved it will be a considerable task.
I would suggest considering the use of a monowidth font design for the glyphs. That way the lines will be the same width for each character, which will reduce the size of the task of producing the font significantly.
I hope that this helps.
William Overington
4 May 2009