Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== SD_FOUNT/IOW_FONT ====== This trap sets the font for a window. ^Call Parameters^^Return Parameters^^ |D0.B|$25|D0.L|Error code.| |D1.L|Unused.|D1.L|Corrupted.| |D2.L|0 or "DEFF"|D2.L|Preserved.| |D3.W|Timeout.|D3.L|Preserved.| |A0.L|Channel ID.|A0.L|Preserved.| |A1.L|Base of 1st Font.|A1.L|Corrupted.| |A2.L|Base of 2nd Font.|A2.L|Preserved.| ===== Errors ===== |ERR_NC|Not complete.| |ERR_NO|Channel not found.| ===== Notes ===== * All registers not shown above are not used on entry and are preserved on exit. * The registers A1 and A2 each either point to a font or are zero in which case the relevant default font is set. * Each font must be stored in memory in a particular way as shown below. * The value in D2.L is ignored by QDOS, but if it is "DEFF" in SMSQ/E then any font set by this call is used in subsequently opened channels. * If a character sent to a window is a valid character in the first font it is printed otherwise if it is a valid character in the second font that will be printed. If no valid character is found in either font the first character in the second font will be printed. ===== Font Format ===== ^Address^Length^Item^ |$00|Byte|1st valid character| |$01|Byte|Number of valid characters| |$02|9 bytes|1st character| |$0B|9 bytes|2nd character| |..|..|..| Each character consists of a 5x9 array printed in a 6x10 rectangle and is stored in bits 6 to 2 in each byte of a set of 9 representing the printable rows from top to bottom. The top row in the 6x10 rectangle is blank. qdosmsq/traps/trap_3/font.txt Last modified: 2010/11/17 17:19by george.gwilt