Number: 1974

Date: 28-Aug-84 11':47':28

Submitter: Sannella.PA

Source: masinter.pa

Subject: Handle "Multi Lingual" Star fonts in Interlisp-D

Assigned To: 

Attn: Sybal, Kapl, nuyens

Status: Open

In/By: 

Problem Type: Design - Impl

Impact: Moderate

Difficulty: 

Frequency: 

Priority: Perhaps

System: Windows and Graphics

Subsystem: Fonts

Machine: 1132

Disk: 

Lisp Version: 27-Aug-84 21':14':00

Source Files: 

Microcode Version: 5124

Memory Size: 4096

File Server: 

Server Software Version: 

Disposition: '
["Sannella.PA" "11-Sep-84 10':50':23" Description':]

Description: '
Date': 23 Aug 84 09':55':25 PDT (Thursday)'
From': Becker.PA'
Subject': Multi Lingual Fonts for Interlisp-D'
To': Kaplan, Masinter, Sheil'
'
FYI':'
'
----------------------------------------------------------------'
Date': 23 Aug 84 08':44 PDT'
From': Feuerman.pasa'
Subject': Multi Lingual Fonts for Interlisp-D'
To': Becker.pa'
cc': Feuerman.pasa'
'
Mr. Becker,'
'
I''m told you may have some information on this.  I am a member of the technical team in Vista Labs down here in Pasadena, and I am working on an application in Interlisp-D that would require some multi-lingual fonts. There is a movement afoot within the Interlisp-D community to convert to using "Star" fonts, and my understanding is that that is just about finished, awaiting release of the next version of Interlisp-D.  My question is':  Will reading "Star" fonts necessarily mean that we can use the Multi-Lingual Star fonts?  Are there some extra things that I need to know about (such as keyboard interpretation, user interaction)?  Just how difficult is it to use these fonts?  My immediate concern is with an ability to type and display fonts in Spanish (the "n~" problem, accent marks, upside-down "?" and "!") and Russian.'
'
Thanks for any information you could provide on this.'
'
--Ken.'
'
----------------------------------------------------------------'
'
'
     ----- Next Message -----'
'
Date': 23 Aug 84 10':07':08 PDT (Thursday)'
From': Becker.PA'
Subject': Re': Multi Lingual Fonts for Interlisp-D'
In-reply-to': Feuerman.pasa''s message of 23 Aug 84 08':44 PDT'
To': Feuerman.pasa'
cc': Kaplan, Masinter, Sheil, Becker'
'
Well, I''ve been pushing to get Interlisp-D multilingualized for a long time, and I hope that it is now really starting to happen.  If so, we should pursue this in some organized way, since it will take forever to communicate by random messages.'
'
The most important item of information for you to know is that SDD is currently (starting today, in fact), undertaking to consolidate its several existing display font formats, of which the Star fonts are but one, into a new format.  Given Lisp''s flexibility, there would not be too much penalty to you in a change of formats, but I wanted to warn you that they probably WILL change over the next few months.'
'
Will reading "Star" fonts necessarily mean that we can use the Multi-Lingual Star fonts?'
'
	> Yes, that is a tautology.'
	'
Just how difficult is it to use these fonts?'
'
	> I don''t understand the question.'
	'
My immediate concern is with an ability to type and display fonts in Spanish (the "n~" problem, accent marks, upside-down "?" and "!") and Russian.'
'
	> No problem.'
		'
Are there some extra things that I need to know about (such as keyboard interpretation, user interaction)?'
'
	> Many.  That''s why, if Interlisp-D is going to go multilingual, it should be done in an organized manner and not at random.'
'
'
Joe'
'
-----'
'
Date':  4 Sep 84 10':25 PDT'
From': Feuerman.pasa'
Subject': Multi Lingual Fonts for Interlisp-D'
To': Sheil.PA, Masinter.PA, Kaplan.PA'
cc': Feuerman.pasa, Liles, Becker.pa'
'
I need to find out soon about the implementation of Star multi-lingual fonts in Interlisp-D.  Word seems to be that the Harmony realease (I''m told this will come out the end of September, is this true?) will be able to read Star format font files, thus picking up on the Multi-Lingual fonts.  The big question is that once Lisp can read these fonts, some user-interaction needs to be developed so that a "naive" user can actually type-in using these fonts.  Can someone give me an idea as to whether this is a task on a calendar someplace, and if so, when this functionality would be available?  Thanks for your information in advance.'
'
--Ken.'
'
-----'
'
Date':  4 Sep 84 13':43 PDT'
From': Kaplan.pa'
Subject': Re': Multi Lingual Fonts for Interlisp-D'
In-reply-to': Feuerman.pasa''s message of 4 Sep 84 10':25 PDT'
To': Feuerman.pasa'
cc': Sheil.PA, Masinter.PA, Kaplan.PA, Liles.pasa, Becker.pa, Newman.pasa, Jellinek'
'
Ken,'
  I saw your interaction with Joe Becker a couple of weeks ago, but didn''t have time to enter in to the discussion at that time.'
'
  I think there are a couple of different issues, and it is important to distinguish them for your particular application.'
'
  I take it that the main problem you are facing is how to get Spanish accents appearing properly on the screen and also in files.  If we in fact had the full NS character set implemented, had the corresponding capabilities for rendering them properly on the screen, and had a standard type-in interface for them, then your problem would be solved (although you probably would want to fool around with the type-in interface to conveniently specialize it for just Spanish).'
'
  The Lisp group is committed to support for the NS character set as components of internal atom and string pnames that will be read and printed properly on text and interpress files.  This will not be in the Harmony released--is planned for the Intermezzo release, about 6 months from now.  The design for this is fairly clear (at least to me), involves a couple of weeks of implementation, so you may be able to get it in pre-release loadups by the end of the year.'
'
We really have not given any thought about type-in conventions that will let you easily (or even not so easily) type in any of the 65,000 characters.  What with the system facilities already provided (e.g. in KEYACTION, KEYDOWNP, etc.), you could probably configure that yourself.  You can look at the code for JLISP to see one instance of this sort of thing.'
'
However':  I really don''t think you need to wait for the NS encoding if what you want is to get Spanish accents.  Those accents exist, I believe, in the control-character region of some of the standard fonts, like TIMESROMAN.  Indeed, we have been able to get those control characters into Tedit files, and they print out fine on at least Press printers.  Coercions to the NS representation for those particular characters could easily be installed in the Interpress outchar function, just as we currently convert the ascii up-arrow code so that it prints as an up-arrow instead of a caret.'
'
The major problem, actually, is in the way the Lisp display code works.  Currently, the X-displacement of a character on the display is interpreted as being exactly the same as the width of the bitmap containing the character''s image.  This is exactly wrong for accents':  the way they are encoded in the standard fonts, they have an X-displacement of 0 but an image width that actually represents the number of bits to be displayed.  The idea is that you print the accent before the character it is to appear over (or under), which advances the DSPXPOSITION not at all, even though it sprays the accent''s image on the screen, then you print the following character, which then appears aligned (more or less) with the accent.  But in the current Interlisp display setup, you would have advanced the X-position the actual width of the accent image, and the next character would appear AFTER the accent, not under it.'
'
Getting around this requires keeping an extra vector of widths in the display font descriptor, and changing the display outcharfn to update its xposition from the second vector.   This, I think, is the major  problem that you need to have solved.  The good news is that this may very well make it into the harmony release--some work in this direction has already gone on.'
'
That leaves you with the keyboard interface.  What I would do is pick some convenient character on the keyboard to represent the accent (e.g. backslash), then use KEYACTION to force typing of that character to result in whatever is the character code for the accent in your font.'
'
I think that this kind of ad hoc solution will get you going quickly, and save you from committing error 33':  making your project depend on the results of someone elses.   It ought to be easy to rework your stuff when we do get the NS encoding going.'
'
--Ron'
'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 11-Sep-84 10':50':23