[abcp commit] r91 - no log message

0 views
Skip to first unread message

codesite...@google.com

unread,
Mar 13, 2009, 7:44:30 AM3/13/09
to abcp-...@googlegroups.com
Author: rdentato
Date: Fri Mar 13 04:43:53 2009
New Revision: 91

Modified:
trunk/doc/sag.txt
trunk/examples/abcdump/abcdump.c
trunk/src/abcp.h
trunk/src/abcpnote.c
trunk/src/abcpscan.pmx
trunk/test/a7.txt

Log:


Modified: trunk/doc/sag.txt
==============================================================================
--- trunk/doc/sag.txt (original)
+++ trunk/doc/sag.txt Fri Mar 13 04:43:53 2009
@@ -1,229 +1,229 @@
-"! " 0.0 0x32
-"!!!( " -119.4428 0x5A
-"!!!) " -140.9491 0x50
-"!!!/ " -145.4517 0x4E
-"!!!/) " -172.8418 0x41
-"!!!// " -177.4751 0x3F
-"!!!~ " -130.2293 0x55
-"!!) " -86.4209 0x68
-"!!/ " -92.1787 0x66
-"!!~ " -75.6344 0x6D
-"!( " -5.7578 0x8E
-"!) " -27.2641 0x84
-"!/ " -31.7667 0x82
-"!/) " -59.1568 0x75
-"!// " -63.7901 0x73
-"!~ " -16.5443 0x89
-"( " 207.2880 0xEF
-"(! " -33.1480 0x81
-"(!! " -93.6030 0x65
-"(!!! " -146.8330 0x4D
-"(!!!( " -152.5908 0x4A
-"(!!!) " -174.0971 0x40
-"(!!!/ " -178.5996 0x3E
-"(!!!~ " -163.5799 0x45
-"(!!( " -98.9546 0x62
-"(!!~ " -110.3070 0x5D
-"(!( " -38.9058 0x7E
-"(!) " -60.4121 0x74
-"(!/ " -64.9146 0x72
-"(!~ " -49.8949 0x79
-"(/| " 54.5282 0xA9
-"(/||| " 168.2132 0xDD
-"(\! " -54.5282 0x77
-"(\!!! " -168.2132 0x43
-"(| " 33.1480 0x9F
-"(|( " 38.9058 0xA2
-"(|) " 60.4121 0xAC
-"(|\ " 64.9146 0xAE
-"(|| " 93.6030 0xBB
-"(||( " 98.9546 0xBE
-"(||| " 146.8330 0xD3
-"(|||( " 152.5908 0xD6
-"(|||) " 174.0971 0xE0
-"(|||\ " 178.5996 0xE2
-"(|||~ " 163.5799 0xDB
-"(||~ " 110.3070 0xC3
-"(|~ " 49.8949 0xA7
-"(X( " 212.6396 0xF2
-"(X~ " 223.9920 0xF7
-"(Y " -207.2880 0x31
-"(Y( " -212.6396 0x2E
-"(Y~ " -223.9920 0x29
-")! " -3.3780 0x8F
-")!!! " -117.0630 0x5B
-")!!!( " -123.3730 0x58
-")!!!) " -144.3271 0x4F
-")!!!// " -180.9761 0x3D
-")!!!~ " -133.7670 0x53
-")!!( " -70.6724 0x70
-")!!) " -88.8007 0x67
-")!!~ " -80.5370 0x6B
-")!( " -9.6880 0x8C
-")!) " -30.6421 0x83
-")!// " -67.2911 0x71
-")!~ " -20.0820 0x87
-")/ " 196.7279 0xEB
-")// " 218.6404 0xF5
-")//| " 46.3939 0xA5
-")//|| " 104.9554 0xC1
-")//||| " 160.0790 0xD9
-")/| " 24.8843 0x9B
-")/|\ " 56.4819 0xAA
-")/|| " 83.0429 0xB7
-")/||| " 138.5693 0xCF
-")/|||\ " 170.1669 0xDE
-")\! " -24.8843 0x85
-")\!! " -83.0429 0x69
-")\!!! " -138.5693 0x51
-")\!!!/ " -170.1669 0x42
-")\!/ " -56.4819 0x76
-")\\! " -46.3939 0x7B
-")\\!! " -104.9554 0x5F
-")\\!!! " -160.0790 0x47
-")\\Y " -218.6404 0x2B
-")\Y " -196.7279 0x35
-")| " 3.3780 0x91
-")|( " 9.6880 0x94
-")|) " 30.6421 0x9D
-")|\\ " 67.2911 0xAF
-")||( " 70.6724 0xB0
-")||) " 88.8007 0xB9
-")||| " 117.0630 0xC5
-")|||( " 123.3730 0xC8
-")|||) " 144.3271 0xD1
-")|||\\ " 180.9761 0xE3
-")|||~ " 133.7670 0xCD
-")||~ " 80.5370 0xB5
-")|~ " 20.0820 0x99
-")~ " 187.0399 0xE5
-")~! " -12.0644 0x8B
-")~!! " -73.3549 0x6F
-")~!!! " -125.7494 0x57
-")~| " 12.0644 0x95
-")~|| " 73.3549 0xB1
-")~||| " 125.7494 0xC9
-")~Y " -187.0399 0x3B
-")X( " 184.3574 0xE4
-")X) " 202.4857 0xED
-")X~ " 194.2220 0xE9
-")Y( " -184.3574 0x3C
-")Y) " -202.4857 0x33
-")Y~ " -194.2220 0x37
-"/ " 195.6034 0xEA
-"// " 217.6821 0xF4
-"//| " 43.0126 0xA4
-"//|| " 103.9970 0xC0
-"//||| " 156.6976 0xD8
-"/| " 21.5063 0x9A
-"/|) " 48.7704 0xA6
-"/|\ " 53.2729 0xA8
-"/|| " 81.9184 0xB6
-"/||) " 107.9272 0xC2
-"/||\ " 113.6850 0xC4
-"/||| " 135.1913 0xCE
-"/|||) " 162.4554 0xDA
-"/|||\ " 166.9579 0xDC
-"/|||~ " 151.7356 0xD5
-"/||~ " 97.1407 0xBD
-"/|~ " 38.0506 0xA1
-"/X) " 221.6122 0xF6
-"/X\ " 227.3700 0xF8
-"/X~ " 210.8257 0xF1
-"\! " -21.5063 0x86
-"\!! " -81.9184 0x6A
-"\!!! " -135.1913 0x52
-"\!!!) " -162.4554 0x46
-"\!!!/ " -166.9579 0x44
-"\!!!~ " -151.7356 0x4B
-"\!!) " -107.9272 0x5E
-"\!!/ " -113.6850 0x5C
-"\!!~ " -97.1407 0x63
-"\!) " -48.7704 0x7A
-"\!/ " -53.2729 0x78
-"\!~ " -38.0506 0x7F
-"\\! " -43.0126 0x7C
-"\\!! " -103.9970 0x60
-"\\!!! " -156.6976 0x48
-"\\Y " -217.6821 0x2C
-"\Y " -195.6034 0x36
-"\Y) " -221.6122 0x2A
-"\Y/ " -227.3700 0x28
-"\Y~ " -210.8257 0x2F
-"^ " 113.6850 0xFD
-"^^ " 227.3700 0xFF
-"_ " -113.6850 0x23
-"__ " -227.3700 0x21
-"| " 0.0 0x32
-"|( " 5.7578 0x92
-"|) " 27.2641 0x9C
-"|//| " 0.0000 0x90
-"|\ " 31.7667 0x9E
-"|\) " 59.1568 0xAB
-"|\\ " 63.7901 0xAD
-"||) " 86.4209 0xB8
-"||\ " 92.1787 0xBA
-"|||( " 119.4428 0xC6
-"|||) " 140.9491 0xD0
-"|||\ " 145.4517 0xD2
-"|||\) " 172.8418 0xDF
-"|||\\ " 177.4751 0xE1
-"|||~ " 130.2293 0xCB
-"||~ " 75.6344 0xB3
-"|~ " 16.5443 0x97
-"~! " -8.7296 0x8D
-"~!!! " -122.4146 0x59
-"~!!!( " -128.4154 0x56
-"~!!!) " -149.3818 0x4C
-"~!!!/ " -154.0151 0x49
-"~!!( " -74.7792 0x6E
-"~!!) " -96.1089 0x64
-"~!!/ " -101.6206 0x61
-"~!( " -14.7304 0x8A
-"~!) " -35.6968 0x80
-"~!/ " -40.3301 0x7D
-"~| " 8.7296 0x93
-"~|( " 14.7304 0x96
-"~|) " 35.6968 0xA0
-"~|/ " -215.3056 0x2D
-"~|\ " 40.3301 0xA3
-"~||( " 74.7792 0xB2
-"~||) " 96.1089 0xBC
-"~||\ " 101.6206 0xBF
-"~||| " 122.4146 0xC7
-"~|||( " 128.4154 0xCA
-"~|||) " 149.3818 0xD4
-"~|||\ " 154.0151 0xD7
-"~~ " 191.6732 0xE8
-"~~! " -17.5761 0x88
-"~~!! " -77.9882 0x6C
-"~~!!! " -131.2611 0x54
-"~~| " 17.5761 0x98
-"~~|| " 77.9882 0xB4
-"~~||| " 131.2611 0xCC
-"~~Y " -191.6732 0x38
-"~X( " 188.4642 0xE6
-"~X) " 209.7939 0xF0
-"~X\ " 215.3056 0xF3
-"~Y( " -188.4642 0x3A
-"~Y) " -209.7939 0x30
-"X) " 200.1059 0xEC
-"X\ " 205.8637 0xEE
-"X~ " 189.3194 0xE7
-"Y) " -200.1059 0x34
-"Y/ " -205.8637 0x32
-"Y~ " -189.3194 0x39
-"- " -21.5063 0x86
-"* " -27.2641 0x84
-"< " -53.2729 0x78
-"w " -65.3373 0x10
-"u " -104.9554 0x5F
-"] " -93.6030 0x65
-"} " -73.6807 0x11
-"+ " 21.5063 0x9A
-"@ " 27.2641 0x9C
-"> " 53.2729 0xA8
-"m " 65.3373 0x12
-"n " 104.9554 0xC1
-"] " 93.6030 0xBB
-"} " 73.6807 0x13
+"! ", 0.0 , 0x32 ,
+"!!!( ", -119.4428 , 0x5A ,
+"!!!) ", -140.9491 , 0x50 ,
+"!!!/ ", -145.4517 , 0x4E ,
+"!!!/) ", -172.8418 , 0x41 ,
+"!!!// ", -177.4751 , 0x3F ,
+"!!!~ ", -130.2293 , 0x55 ,
+"!!) ", -86.4209 , 0x68 ,
+"!!/ ", -92.1787 , 0x66 ,
+"!!~ ", -75.6344 , 0x6D ,
+"!( ", -5.7578 , 0x8E ,
+"!) ", -27.2641 , 0x84 ,
+"!/ ", -31.7667 , 0x82 ,
+"!/) ", -59.1568 , 0x75 ,
+"!// ", -63.7901 , 0x73 ,
+"!~ ", -16.5443 , 0x89 ,
+"( ", 207.2880 , 0xEF ,
+"(! ", -33.1480 , 0x81 ,
+"(!! ", -93.6030 , 0x65 ,
+"(!!! ", -146.8330 , 0x4D ,
+"(!!!( ", -152.5908 , 0x4A ,
+"(!!!) ", -174.0971 , 0x40 ,
+"(!!!/ ", -178.5996 , 0x3E ,
+"(!!!~ ", -163.5799 , 0x45 ,
+"(!!( ", -98.9546 , 0x62 ,
+"(!!~ ", -110.3070 , 0x5D ,
+"(!( ", -38.9058 , 0x7E ,
+"(!) ", -60.4121 , 0x74 ,
+"(!/ ", -64.9146 , 0x72 ,
+"(!~ ", -49.8949 , 0x79 ,
+"(/| ", 54.5282 , 0xA9 ,
+"(/||| ", 168.2132 , 0xDD ,
+"(\\! ", -54.5282 , 0x77 ,
+"(\\!!! ", -168.2132 , 0x43 ,
+"(| ", 33.1480 , 0x9F ,
+"(|( ", 38.9058 , 0xA2 ,
+"(|) ", 60.4121 , 0xAC ,
+"(|\\ ", 64.9146 , 0xAE ,
+"(|| ", 93.6030 , 0xBB ,
+"(||( ", 98.9546 , 0xBE ,
+"(||| ", 146.8330 , 0xD3 ,
+"(|||( ", 152.5908 , 0xD6 ,
+"(|||) ", 174.0971 , 0xE0 ,
+"(|||\\ ", 178.5996 , 0xE2 ,
+"(|||~ ", 163.5799 , 0xDB ,
+"(||~ ", 110.3070 , 0xC3 ,
+"(|~ ", 49.8949 , 0xA7 ,
+"(X( ", 212.6396 , 0xF2 ,
+"(X~ ", 223.9920 , 0xF7 ,
+"(Y ", -207.2880 , 0x31 ,
+"(Y( ", -212.6396 , 0x2E ,
+"(Y~ ", -223.9920 , 0x29 ,
+")! ", -3.3780 , 0x8F ,
+")!!! ", -117.0630 , 0x5B ,
+")!!!( ", -123.3730 , 0x58 ,
+")!!!) ", -144.3271 , 0x4F ,
+")!!!// ", -180.9761 , 0x3D ,
+")!!!~ ", -133.7670 , 0x53 ,
+")!!( ", -70.6724 , 0x70 ,
+")!!) ", -88.8007 , 0x67 ,
+")!!~ ", -80.5370 , 0x6B ,
+")!( ", -9.6880 , 0x8C ,
+")!) ", -30.6421 , 0x83 ,
+")!// ", -67.2911 , 0x71 ,
+")!~ ", -20.0820 , 0x87 ,
+")/ ", 196.7279 , 0xEB ,
+")// ", 218.6404 , 0xF5 ,
+")//| ", 46.3939 , 0xA5 ,
+")//|| ", 104.9554 , 0xC1 ,
+")//||| ", 160.0790 , 0xD9 ,
+")/| ", 24.8843 , 0x9B ,
+")/|\\ ", 56.4819 , 0xAA ,
+")/|| ", 83.0429 , 0xB7 ,
+")/||| ", 138.5693 , 0xCF ,
+")/|||\\ ", 170.1669 , 0xDE ,
+")\\! ", -24.8843 , 0x85 ,
+")\\!! ", -83.0429 , 0x69 ,
+")\\!!! ", -138.5693 , 0x51 ,
+")\\!!!/ ", -170.1669 , 0x42 ,
+")\\!/ ", -56.4819 , 0x76 ,
+")\\\\! ", -46.3939 , 0x7B ,
+")\\\\!! ", -104.9554 , 0x5F ,
+")\\\\!!! ", -160.0790 , 0x47 ,
+")\\\\Y ", -218.6404 , 0x2B ,
+")\\Y ", -196.7279 , 0x35 ,
+")| ", 3.3780 , 0x91 ,
+")|( ", 9.6880 , 0x94 ,
+")|) ", 30.6421 , 0x9D ,
+")|\\\\ ", 67.2911 , 0xAF ,
+")||( ", 70.6724 , 0xB0 ,
+")||) ", 88.8007 , 0xB9 ,
+")||| ", 117.0630 , 0xC5 ,
+")|||( ", 123.3730 , 0xC8 ,
+")|||) ", 144.3271 , 0xD1 ,
+")|||\\\\ ", 180.9761 , 0xE3 ,
+")|||~ ", 133.7670 , 0xCD ,
+")||~ ", 80.5370 , 0xB5 ,
+")|~ ", 20.0820 , 0x99 ,
+")~ ", 187.0399 , 0xE5 ,
+")~! ", -12.0644 , 0x8B ,
+")~!! ", -73.3549 , 0x6F ,
+")~!!! ", -125.7494 , 0x57 ,
+")~| ", 12.0644 , 0x95 ,
+")~|| ", 73.3549 , 0xB1 ,
+")~||| ", 125.7494 , 0xC9 ,
+")~Y ", -187.0399 , 0x3B ,
+")X( ", 184.3574 , 0xE4 ,
+")X) ", 202.4857 , 0xED ,
+")X~ ", 194.2220 , 0xE9 ,
+")Y( ", -184.3574 , 0x3C ,
+")Y) ", -202.4857 , 0x33 ,
+")Y~ ", -194.2220 , 0x37 ,
+"/ ", 195.6034 , 0xEA ,
+"// ", 217.6821 , 0xF4 ,
+"//| ", 43.0126 , 0xA4 ,
+"//|| ", 103.9970 , 0xC0 ,
+"//||| ", 156.6976 , 0xD8 ,
+"/| ", 21.5063 , 0x9A ,
+"/|) ", 48.7704 , 0xA6 ,
+"/|\\ ", 53.2729 , 0xA8 ,
+"/|| ", 81.9184 , 0xB6 ,
+"/||) ", 107.9272 , 0xC2 ,
+"/||\\ ", 113.6850 , 0xC4 ,
+"/||| ", 135.1913 , 0xCE ,
+"/|||) ", 162.4554 , 0xDA ,
+"/|||\\ ", 166.9579 , 0xDC ,
+"/|||~ ", 151.7356 , 0xD5 ,
+"/||~ ", 97.1407 , 0xBD ,
+"/|~ ", 38.0506 , 0xA1 ,
+"/X) ", 221.6122 , 0xF6 ,
+"/X\\ ", 227.3700 , 0xF8 ,
+"/X~ ", 210.8257 , 0xF1 ,
+"\\! ", -21.5063 , 0x86 ,
+"\\!! ", -81.9184 , 0x6A ,
+"\\!!! ", -135.1913 , 0x52 ,
+"\\!!!) ", -162.4554 , 0x46 ,
+"\\!!!/ ", -166.9579 , 0x44 ,
+"\\!!!~ ", -151.7356 , 0x4B ,
+"\\!!) ", -107.9272 , 0x5E ,
+"\\!!/ ", -113.6850 , 0x5C ,
+"\\!!~ ", -97.1407 , 0x63 ,
+"\\!) ", -48.7704 , 0x7A ,
+"\\!/ ", -53.2729 , 0x78 ,
+"\\!~ ", -38.0506 , 0x7F ,
+"\\\\! ", -43.0126 , 0x7C ,
+"\\\\!! ", -103.9970 , 0x60 ,
+"\\\\!!! ", -156.6976 , 0x48 ,
+"\\\\Y ", -217.6821 , 0x2C ,
+"\\Y ", -195.6034 , 0x36 ,
+"\\Y) ", -221.6122 , 0x2A ,
+"\\Y/ ", -227.3700 , 0x28 ,
+"\\Y~ ", -210.8257 , 0x2F ,
+"^ ", 113.6850 , 0xFD ,
+"^^ ", 227.3700 , 0xFF ,
+"_ ", -113.6850 , 0x23 ,
+"__ ", -227.3700 , 0x21 ,
+"| ", 0.0 , 0x32 ,
+"|( ", 5.7578 , 0x92 ,
+"|) ", 27.2641 , 0x9C ,
+"|//| ", 0.0000 , 0x90 ,
+"|\\ ", 31.7667 , 0x9E ,
+"|\\) ", 59.1568 , 0xAB ,
+"|\\\\ ", 63.7901 , 0xAD ,
+"||) ", 86.4209 , 0xB8 ,
+"||\\ ", 92.1787 , 0xBA ,
+"|||( ", 119.4428 , 0xC6 ,
+"|||) ", 140.9491 , 0xD0 ,
+"|||\\ ", 145.4517 , 0xD2 ,
+"|||\\) ", 172.8418 , 0xDF ,
+"|||\\\\ ", 177.4751 , 0xE1 ,
+"|||~ ", 130.2293 , 0xCB ,
+"||~ ", 75.6344 , 0xB3 ,
+"|~ ", 16.5443 , 0x97 ,
+"~! ", -8.7296 , 0x8D ,
+"~!!! ", -122.4146 , 0x59 ,
+"~!!!( ", -128.4154 , 0x56 ,
+"~!!!) ", -149.3818 , 0x4C ,
+"~!!!/ ", -154.0151 , 0x49 ,
+"~!!( ", -74.7792 , 0x6E ,
+"~!!) ", -96.1089 , 0x64 ,
+"~!!/ ", -101.6206 , 0x61 ,
+"~!( ", -14.7304 , 0x8A ,
+"~!) ", -35.6968 , 0x80 ,
+"~!/ ", -40.3301 , 0x7D ,
+"~| ", 8.7296 , 0x93 ,
+"~|( ", 14.7304 , 0x96 ,
+"~|) ", 35.6968 , 0xA0 ,
+"~|/ ", -215.3056 , 0x2D ,
+"~|\\ ", 40.3301 , 0xA3 ,
+"~||( ", 74.7792 , 0xB2 ,
+"~||) ", 96.1089 , 0xBC ,
+"~||\\ ", 101.6206 , 0xBF ,
+"~||| ", 122.4146 , 0xC7 ,
+"~|||( ", 128.4154 , 0xCA ,
+"~|||) ", 149.3818 , 0xD4 ,
+"~|||\\ ", 154.0151 , 0xD7 ,
+"~~ ", 191.6732 , 0xE8 ,
+"~~! ", -17.5761 , 0x88 ,
+"~~!! ", -77.9882 , 0x6C ,
+"~~!!! ", -131.2611 , 0x54 ,
+"~~| ", 17.5761 , 0x98 ,
+"~~|| ", 77.9882 , 0xB4 ,
+"~~||| ", 131.2611 , 0xCC ,
+"~~Y ", -191.6732 , 0x38 ,
+"~X( ", 188.4642 , 0xE6 ,
+"~X) ", 209.7939 , 0xF0 ,
+"~X\\ ", 215.3056 , 0xF3 ,
+"~Y( ", -188.4642 , 0x3A ,
+"~Y) ", -209.7939 , 0x30 ,
+"X) ", 200.1059 , 0xEC ,
+"X\\ ", 205.8637 , 0xEE ,
+"X~ ", 189.3194 , 0xE7 ,
+"Y) ", -200.1059 , 0x34 ,
+"Y/ ", -205.8637 , 0x32 ,
+"Y~ ", -189.3194 , 0x39 ,
+"- ", -21.5063 , 0x86 ,
+"* ", -27.2641 , 0x84 ,
+"< ", -53.2729 , 0x78 ,
+"w ", -65.3373 , 0x10 ,
+"v ", -104.9554 , 0x5F ,
+"[ ", -93.6030 , 0x65 ,
+"{ ", -73.6807 , 0x11 ,
+"+ ", 21.5063 , 0x9A ,
+"@ ", 27.2641 , 0x9C ,
+"> ", 53.2729 , 0xA8 ,
+"m ", 65.3373 , 0x12 ,
+"n ", 104.9554 , 0xC1 ,
+"] ", 93.6030 , 0xBB ,
+"} ", 73.6807 , 0x13 ,

Modified: trunk/examples/abcdump/abcdump.c
==============================================================================
--- trunk/examples/abcdump/abcdump.c (original)
+++ trunk/examples/abcdump/abcdump.c Fri Mar 13 04:43:53 2009
@@ -211,6 +211,7 @@
printf("%s%s ", abcNotePitch(scn), bend == abcNatural?"
(natural)":"");
printf("bend: %.2f (%.2f/%.2f) ",bend==
abcNatural?0.0:bend,abcNoteMicrotoneNum(scn),abcNoteMicrotoneDen(scn));
printf("court: %d\n",abcNoteCourtesyAccidentals(scn));
+ printf("
accidental: %.*s\n",abcNoteAccidentalLen(scn),abcNoteAccidentalStart(scn));
printf(" duration: %.2f ",abcNoteDuration(scn));
printf("octave: %d ",abcNoteOctave(scn));
printf("midi:
(%d,%d)\n",abcNoteMidi(scn),abcNoteMidiPitchBend(scn));

Modified: trunk/src/abcp.h
==============================================================================
--- trunk/src/abcp.h (original)
+++ trunk/src/abcp.h Fri Mar 13 04:43:53 2009
@@ -178,6 +178,8 @@
unsigned short abcNote2Midi(char pitch, int octave, int acc);

int abcNoteCourtesyAccidentals(abcScanner *scn);
+int abcNoteAccidentalLen(abcScanner *scn);
+char *abcNoteAccidentalStart(abcScanner *scn);

float abcNoteDuration(abcScanner *scn);
int abcNoteOctave(abcScanner *scn);

Modified: trunk/src/abcpnote.c
==============================================================================
--- trunk/src/abcpnote.c (original)
+++ trunk/src/abcpnote.c Fri Mar 13 04:43:53 2009
@@ -18,722 +18,719 @@
abcTokenStart(s,n+2), \
abcTokenLen(s,n+2))

+#define EXTR1(a,b,c) a
+#define EXTR2(a,b,c) b
+#define EXTR3(a,b,c) c
+
static char *sagittal[] = {
-"!" ,
-"!!!(" ,
-"!!!)" ,
-"!!!/" ,
-"!!!/)" ,
-"!!!//" ,
-"!!!~" ,
-"!!)" ,
-"!!/" ,
-"!!~" ,
-"!(" ,
-"!)" ,
-"!/" ,
-"!/)" ,
-"!//" ,
-"!~" ,
-"(" ,
-"(!" ,
-"(!!" ,
-"(!!!" ,
-"(!!!(" ,
-"(!!!)" ,
-"(!!!/" ,
-"(!!!~" ,
-"(!!(" ,
-"(!!~" ,
-"(!(" ,
-"(!)" ,
-"(!/" ,
-"(!~" ,
-"(/|" ,
-"(/|||" ,
-"(X(" ,
-"(X~" ,
-"(Y" ,
-"(Y(" ,
-"(Y~" ,
-"(\!" ,
-"(\!!!" ,
-"(|" ,
-"(|(" ,
-"(|)" ,
-"(|\" ,
-"(||" ,
-"(||(" ,
-"(|||" ,
-"(|||(" ,
-"(|||)" ,
-"(|||\" ,
-"(|||~" ,
-"(||~" ,
-"(|~" ,
-")!" ,
-")!!!" ,
-")!!!(" ,
-")!!!)" ,
-")!!!//" ,
-")!!!~" ,
-")!!(" ,
-")!!)" ,
-")!!~" ,
-")!(" ,
-")!)" ,
-")!//" ,
-")!~" ,
-")/" ,
-")//" ,
-")//|" ,
-")//||" ,
-")//|||" ,
-")/|" ,
-")/|\" ,
-")/||" ,
-")/|||" ,
-")/|||\" ,
-")X(" ,
-")X)" ,
-")X~" ,
-")Y(" ,
-")Y)" ,
-")Y~" ,
-")\!" ,
-")\!!" ,
-")\!!!" ,
-")\!!!/" ,
-")\!/" ,
-")\Y" ,
-")\\!" ,
-")\\!!" ,
-")\\!!!" ,
-")\\Y" ,
-")|" ,
-")|(" ,
-")|)" ,
-")|\\" ,
-")||(" ,
-")||)" ,
-")|||" ,
-")|||(" ,
-")|||)" ,
-")|||\\" ,
-")|||~" ,
-")||~" ,
-")|~" ,
-")~" ,
-")~!" ,
-")~!!" ,
-")~!!!" ,
-")~Y" ,
-")~|" ,
-")~||" ,
-")~|||" ,
-"*" ,
-"+" ,
-"-" ,
-"/" ,
-"//" ,
-"//|" ,
-"//||" ,
-"//|||" ,
-"/X)" ,
-"/X\" ,
-"/X~" ,
-"/|" ,
-"/|)" ,
-"/|\" ,
-"/||" ,
-"/||)" ,
-"/||\" ,
-"/|||" ,
-"/|||)" ,
-"/|||\" ,
-"/|||~" ,
-"/||~" ,
-"/|~" ,
-"<" ,
-">" ,
-"@" ,
-"X)" ,
-"X\" ,
-"X~" ,
-"Y)" ,
-"Y/" ,
-"Y~" ,
-"\!" ,
-"\!!" ,
-"\!!!" ,
-"\!!!)" ,
-"\!!!/" ,
-"\!!!~" ,
-"\!!)" ,
-"\!!/" ,
-"\!!~" ,
-"\!)" ,
-"\!/" ,
-"\!~" ,
-"\Y" ,
-"\Y)" ,
-"\Y/" ,
-"\Y~" ,
-"\\!" ,
-"\\!!" ,
-"\\!!!" ,
-"\\Y" ,
-"]" ,
-"]" ,
-"^" ,
-"^^" ,
-"_" ,
-"__" ,
-"m" ,
-"n" ,
-"u" ,
-"w" ,
-"|" ,
-"|(" ,
-"|)" ,
-"|//|" ,
-"|\" ,
-"|\)" ,
-"|\\" ,
-"||)" ,
-"||\" ,
-"|||(" ,
-"|||)" ,
-"|||\" ,
-"|||\)" ,
-"|||\\" ,
-"|||~" ,
-"||~" ,
-"|~" ,
-"}" ,
-"}" ,
-"~!" ,
-"~!!!" ,
-"~!!!(" ,
-"~!!!)" ,
-"~!!!/" ,
-"~!!(" ,
-"~!!)" ,
-"~!!/" ,
-"~!(" ,
-"~!)" ,
-"~!/" ,
-"~X(" ,
-"~X)" ,
-"~X\" ,
-"~Y(" ,
-"~Y)" ,
-"~|" ,
-"~|(" ,
-"~|)" ,
-"~|/" ,
-"~|\" ,
-"~||(" ,
-"~||)" ,
-"~||\" ,
-"~|||" ,
-"~|||(" ,
-"~|||)" ,
-"~|||\" ,
-"~~" ,
-"~~!" ,
-"~~!!" ,
-"~~!!!" ,
-"~~Y" ,
-"~~|" ,
-"~~||" ,
-"~~|||" ,
+EXTR1("!" , 0.0 , 0x32 ) ,
+EXTR1("!!!(" , -119.4428 , 0x5A ) ,
+EXTR1("!!!)" , -140.9491 , 0x50 ) ,
+EXTR1("!!!/" , -145.4517 , 0x4E ) ,
+EXTR1("!!!/)" , -172.8418 , 0x41 ) ,
+EXTR1("!!!//" , -177.4751 , 0x3F ) ,
+EXTR1("!!!~" , -130.2293 , 0x55 ) ,
+EXTR1("!!)" , -86.4209 , 0x68 ) ,
+EXTR1("!!/" , -92.1787 , 0x66 ) ,
+EXTR1("!!~" , -75.6344 , 0x6D ) ,
+EXTR1("!(" , -5.7578 , 0x8E ) ,
+EXTR1("!)" , -27.2641 , 0x84 ) ,
+EXTR1("!/" , -31.7667 , 0x82 ) ,
+EXTR1("!/)" , -59.1568 , 0x75 ) ,
+EXTR1("!//" , -63.7901 , 0x73 ) ,
+EXTR1("!~" , -16.5443 , 0x89 ) ,
+EXTR1("(" , 207.2880 , 0xEF ) ,
+EXTR1("(!" , -33.1480 , 0x81 ) ,
+EXTR1("(!!" , -93.6030 , 0x65 ) ,
+EXTR1("(!!!" , -146.8330 , 0x4D ) ,
+EXTR1("(!!!(" , -152.5908 , 0x4A ) ,
+EXTR1("(!!!)" , -174.0971 , 0x40 ) ,
+EXTR1("(!!!/" , -178.5996 , 0x3E ) ,
+EXTR1("(!!!~" , -163.5799 , 0x45 ) ,
+EXTR1("(!!(" , -98.9546 , 0x62 ) ,
+EXTR1("(!!~" , -110.3070 , 0x5D ) ,
+EXTR1("(!(" , -38.9058 , 0x7E ) ,
+EXTR1("(!)" , -60.4121 , 0x74 ) ,
+EXTR1("(!/" , -64.9146 , 0x72 ) ,
+EXTR1("(!~" , -49.8949 , 0x79 ) ,
+EXTR1("(/|" , 54.5282 , 0xA9 ) ,
+EXTR1("(/|||" , 168.2132 , 0xDD ) ,
+EXTR1("(X(" , 212.6396 , 0xF2 ) ,
+EXTR1("(X~" , 223.9920 , 0xF7 ) ,
+EXTR1("(Y" , -207.2880 , 0x31 ) ,
+EXTR1("(Y(" , -212.6396 , 0x2E ) ,
+EXTR1("(Y~" , -223.9920 , 0x29 ) ,
+EXTR1("(\\!" , -54.5282 , 0x77 ) ,
+EXTR1("(\\!!!" , -168.2132 , 0x43 ) ,
+EXTR1("(|" , 33.1480 , 0x9F ) ,
+EXTR1("(|(" , 38.9058 , 0xA2 ) ,
+EXTR1("(|)" , 60.4121 , 0xAC ) ,
+EXTR1("(|\\" , 64.9146 , 0xAE ) ,
+EXTR1("(||" , 93.6030 , 0xBB ) ,
+EXTR1("(||(" , 98.9546 , 0xBE ) ,
+EXTR1("(|||" , 146.8330 , 0xD3 ) ,
+EXTR1("(|||(" , 152.5908 , 0xD6 ) ,
+EXTR1("(|||)" , 174.0971 , 0xE0 ) ,
+EXTR1("(|||\\" , 178.5996 , 0xE2 ) ,
+EXTR1("(|||~" , 163.5799 , 0xDB ) ,
+EXTR1("(||~" , 110.3070 , 0xC3 ) ,
+EXTR1("(|~" , 49.8949 , 0xA7 ) ,
+EXTR1(")!" , -3.3780 , 0x8F ) ,
+EXTR1(")!!!" , -117.0630 , 0x5B ) ,
+EXTR1(")!!!(" , -123.3730 , 0x58 ) ,
+EXTR1(")!!!)" , -144.3271 , 0x4F ) ,
+EXTR1(")!!!//" , -180.9761 , 0x3D ) ,
+EXTR1(")!!!~" , -133.7670 , 0x53 ) ,
+EXTR1(")!!(" , -70.6724 , 0x70 ) ,
+EXTR1(")!!)" , -88.8007 , 0x67 ) ,
+EXTR1(")!!~" , -80.5370 , 0x6B ) ,
+EXTR1(")!(" , -9.6880 , 0x8C ) ,
+EXTR1(")!)" , -30.6421 , 0x83 ) ,
+EXTR1(")!//" , -67.2911 , 0x71 ) ,
+EXTR1(")!~" , -20.0820 , 0x87 ) ,
+EXTR1(")/" , 196.7279 , 0xEB ) ,
+EXTR1(")//" , 218.6404 , 0xF5 ) ,
+EXTR1(")//|" , 46.3939 , 0xA5 ) ,
+EXTR1(")//||" , 104.9554 , 0xC1 ) ,
+EXTR1(")//|||" , 160.0790 , 0xD9 ) ,
+EXTR1(")/|" , 24.8843 , 0x9B ) ,
+EXTR1(")/|\\" , 56.4819 , 0xAA ) ,
+EXTR1(")/||" , 83.0429 , 0xB7 ) ,
+EXTR1(")/|||" , 138.5693 , 0xCF ) ,
+EXTR1(")/|||\\" , 170.1669 , 0xDE ) ,
+EXTR1(")X(" , 184.3574 , 0xE4 ) ,
+EXTR1(")X)" , 202.4857 , 0xED ) ,
+EXTR1(")X~" , 194.2220 , 0xE9 ) ,
+EXTR1(")Y(" , -184.3574 , 0x3C ) ,
+EXTR1(")Y)" , -202.4857 , 0x33 ) ,
+EXTR1(")Y~" , -194.2220 , 0x37 ) ,
+EXTR1(")\\!" , -24.8843 , 0x85 ) ,
+EXTR1(")\\!!" , -83.0429 , 0x69 ) ,
+EXTR1(")\\!!!" , -138.5693 , 0x51 ) ,
+EXTR1(")\\!!!/" , -170.1669 , 0x42 ) ,
+EXTR1(")\\!/" , -56.4819 , 0x76 ) ,
+EXTR1(")\\Y" , -196.7279 , 0x35 ) ,
+EXTR1(")\\\\!" , -46.3939 , 0x7B ) ,
+EXTR1(")\\\\!!" , -104.9554 , 0x5F ) ,
+EXTR1(")\\\\!!!" , -160.0790 , 0x47 ) ,
+EXTR1(")\\\\Y" , -218.6404 , 0x2B ) ,
+EXTR1(")|" , 3.3780 , 0x91 ) ,
+EXTR1(")|(" , 9.6880 , 0x94 ) ,
+EXTR1(")|)" , 30.6421 , 0x9D ) ,
+EXTR1(")|\\\\" , 67.2911 , 0xAF ) ,
+EXTR1(")||(" , 70.6724 , 0xB0 ) ,
+EXTR1(")||)" , 88.8007 , 0xB9 ) ,
+EXTR1(")|||" , 117.0630 , 0xC5 ) ,
+EXTR1(")|||(" , 123.3730 , 0xC8 ) ,
+EXTR1(")|||)" , 144.3271 , 0xD1 ) ,
+EXTR1(")|||\\\\" , 180.9761 , 0xE3 ) ,
+EXTR1(")|||~" , 133.7670 , 0xCD ) ,
+EXTR1(")||~" , 80.5370 , 0xB5 ) ,
+EXTR1(")|~" , 20.0820 , 0x99 ) ,
+EXTR1(")~" , 187.0399 , 0xE5 ) ,
+EXTR1(")~!" , -12.0644 , 0x8B ) ,
+EXTR1(")~!!" , -73.3549 , 0x6F ) ,
+EXTR1(")~!!!" , -125.7494 , 0x57 ) ,
+EXTR1(")~Y" , -187.0399 , 0x3B ) ,
+EXTR1(")~|" , 12.0644 , 0x95 ) ,
+EXTR1(")~||" , 73.3549 , 0xB1 ) ,
+EXTR1(")~|||" , 125.7494 , 0xC9 ) ,
+EXTR1("*" , -27.2641 , 0x84 ) ,
+EXTR1("+" , 21.5063 , 0x9A ) ,
+EXTR1("-" , -21.5063 , 0x86 ) ,
+EXTR1("/" , 195.6034 , 0xEA ) ,
+EXTR1("//" , 217.6821 , 0xF4 ) ,
+EXTR1("//|" , 43.0126 , 0xA4 ) ,
+EXTR1("//||" , 103.9970 , 0xC0 ) ,
+EXTR1("//|||" , 156.6976 , 0xD8 ) ,
+EXTR1("/X)" , 221.6122 , 0xF6 ) ,
+EXTR1("/X\\" , 227.3700 , 0xF8 ) ,
+EXTR1("/X~" , 210.8257 , 0xF1 ) ,
+EXTR1("/|" , 21.5063 , 0x9A ) ,
+EXTR1("/|)" , 48.7704 , 0xA6 ) ,
+EXTR1("/|\\" , 53.2729 , 0xA8 ) ,
+EXTR1("/||" , 81.9184 , 0xB6 ) ,
+EXTR1("/||)" , 107.9272 , 0xC2 ) ,
+EXTR1("/||\\" , 113.6850 , 0xC4 ) ,
+EXTR1("/|||" , 135.1913 , 0xCE ) ,
+EXTR1("/|||)" , 162.4554 , 0xDA ) ,
+EXTR1("/|||\\" , 166.9579 , 0xDC ) ,
+EXTR1("/|||~" , 151.7356 , 0xD5 ) ,
+EXTR1("/||~" , 97.1407 , 0xBD ) ,
+EXTR1("/|~" , 38.0506 , 0xA1 ) ,
+EXTR1("<" , -53.2729 , 0x78 ) ,
+EXTR1(">" , 53.2729 , 0xA8 ) ,
+EXTR1("@" , 27.2641 , 0x9C ) ,
+EXTR1("X)" , 200.1059 , 0xEC ) ,
+EXTR1("X\\" , 205.8637 , 0xEE ) ,
+EXTR1("X~" , 189.3194 , 0xE7 ) ,
+EXTR1("Y)" , -200.1059 , 0x34 ) ,
+EXTR1("Y/" , -205.8637 , 0x32 ) ,
+EXTR1("Y~" , -189.3194 , 0x39 ) ,
+EXTR1("[" , -93.6030 , 0x65 ) ,
+EXTR1("\\!" , -21.5063 , 0x86 ) ,
+EXTR1("\\!!" , -81.9184 , 0x6A ) ,
+EXTR1("\\!!!" , -135.1913 , 0x52 ) ,
+EXTR1("\\!!!)" , -162.4554 , 0x46 ) ,
+EXTR1("\\!!!/" , -166.9579 , 0x44 ) ,
+EXTR1("\\!!!~" , -151.7356 , 0x4B ) ,
+EXTR1("\\!!)" , -107.9272 , 0x5E ) ,
+EXTR1("\\!!/" , -113.6850 , 0x5C ) ,
+EXTR1("\\!!~" , -97.1407 , 0x63 ) ,
+EXTR1("\\!)" , -48.7704 , 0x7A ) ,
+EXTR1("\\!/" , -53.2729 , 0x78 ) ,
+EXTR1("\\!~" , -38.0506 , 0x7F ) ,
+EXTR1("\\Y" , -195.6034 , 0x36 ) ,
+EXTR1("\\Y)" , -221.6122 , 0x2A ) ,
+EXTR1("\\Y/" , -227.3700 , 0x28 ) ,
+EXTR1("\\Y~" , -210.8257 , 0x2F ) ,
+EXTR1("\\\\!" , -43.0126 , 0x7C ) ,
+EXTR1("\\\\!!" , -103.9970 , 0x60 ) ,
+EXTR1("\\\\!!!" , -156.6976 , 0x48 ) ,
+EXTR1("\\\\Y" , -217.6821 , 0x2C ) ,
+EXTR1("]" , 93.6030 , 0xBB ) ,
+EXTR1("^" , 113.6850 , 0xFD ) ,
+EXTR1("^^" , 227.3700 , 0xFF ) ,
+EXTR1("_" , -113.6850 , 0x23 ) ,
+EXTR1("__" , -227.3700 , 0x21 ) ,
+EXTR1("m" , 65.3373 , 0x12 ) ,
+EXTR1("n" , 104.9554 , 0xC1 ) ,
+EXTR1("v" , -104.9554 , 0x5F ) ,
+EXTR1("w" , -65.3373 , 0x10 ) ,
+EXTR1("{" , -73.6807 , 0x11 ) ,
+EXTR1("|" , 0.0 , 0x32 ) ,
+EXTR1("|(" , 5.7578 , 0x92 ) ,
+EXTR1("|)" , 27.2641 , 0x9C ) ,
+EXTR1("|//|" , 0.0000 , 0x90 ) ,
+EXTR1("|\\" , 31.7667 , 0x9E ) ,
+EXTR1("|\\)" , 59.1568 , 0xAB ) ,
+EXTR1("|\\\\" , 63.7901 , 0xAD ) ,
+EXTR1("||)" , 86.4209 , 0xB8 ) ,
+EXTR1("||\\" , 92.1787 , 0xBA ) ,
+EXTR1("|||(" , 119.4428 , 0xC6 ) ,
+EXTR1("|||)" , 140.9491 , 0xD0 ) ,
+EXTR1("|||\\" , 145.4517 , 0xD2 ) ,
+EXTR1("|||\\)" , 172.8418 , 0xDF ) ,
+EXTR1("|||\\\\" , 177.4751 , 0xE1 ) ,
+EXTR1("|||~" , 130.2293 , 0xCB ) ,
+EXTR1("||~" , 75.6344 , 0xB3 ) ,
+EXTR1("|~" , 16.5443 , 0x97 ) ,
+EXTR1("}" , 73.6807 , 0x13 ) ,
+EXTR1("~!" , -8.7296 , 0x8D ) ,
+EXTR1("~!!!" , -122.4146 , 0x59 ) ,
+EXTR1("~!!!(" , -128.4154 , 0x56 ) ,
+EXTR1("~!!!)" , -149.3818 , 0x4C ) ,
+EXTR1("~!!!/" , -154.0151 , 0x49 ) ,
+EXTR1("~!!(" , -74.7792 , 0x6E ) ,
+EXTR1("~!!)" , -96.1089 , 0x64 ) ,
+EXTR1("~!!/" , -101.6206 , 0x61 ) ,
+EXTR1("~!(" , -14.7304 , 0x8A ) ,
+EXTR1("~!)" , -35.6968 , 0x80 ) ,
+EXTR1("~!/" , -40.3301 , 0x7D ) ,
+EXTR1("~X(" , 188.4642 , 0xE6 ) ,
+EXTR1("~X)" , 209.7939 , 0xF0 ) ,
+EXTR1("~X\\" , 215.3056 , 0xF3 ) ,
+EXTR1("~Y(" , -188.4642 , 0x3A ) ,
+EXTR1("~Y)" , -209.7939 , 0x30 ) ,
+EXTR1("~|" , 8.7296 , 0x93 ) ,
+EXTR1("~|(" , 14.7304 , 0x96 ) ,
+EXTR1("~|)" , 35.6968 , 0xA0 ) ,
+EXTR1("~|/" , -215.3056 , 0x2D ) ,
+EXTR1("~|\\" , 40.3301 , 0xA3 ) ,
+EXTR1("~||(" , 74.7792 , 0xB2 ) ,
+EXTR1("~||)" , 96.1089 , 0xBC ) ,
+EXTR1("~||\\" , 101.6206 , 0xBF ) ,
+EXTR1("~|||" , 122.4146 , 0xC7 ) ,
+EXTR1("~|||(" , 128.4154 , 0xCA ) ,
+EXTR1("~|||)" , 149.3818 , 0xD4 ) ,
+EXTR1("~|||\\" , 154.0151 , 0xD7 ) ,
+EXTR1("~~" , 191.6732 , 0xE8 ) ,
+EXTR1("~~!" , -17.5761 , 0x88 ) ,
+EXTR1("~~!!" , -77.9882 , 0x6C ) ,
+EXTR1("~~!!!" , -131.2611 , 0x54 ) ,
+EXTR1("~~Y" , -191.6732 , 0x38 ) ,
+EXTR1("~~|" , 17.5761 , 0x98 ) ,
+EXTR1("~~||" , 77.9882 , 0xB4 ) ,
+EXTR1("~~|||" , 131.2611 , 0xCC ) ,
+
};

static float sagittalbend[] = {
-0.0 ,
--119.4428 ,
--140.9491 ,
--145.4517 ,
--172.8418 ,
--177.4751 ,
--130.2293 ,
--86.4209 ,
--92.1787 ,
--75.6344 ,
--5.7578 ,
--27.2641 ,
--31.7667 ,
--59.1568 ,
--63.7901 ,
--16.5443 ,
-207.2880 ,
--33.1480 ,
--93.6030 ,
--146.8330 ,
--152.5908 ,
--174.0971 ,
--178.5996 ,
--163.5799 ,
--98.9546 ,
--110.3070 ,
--38.9058 ,
--60.4121 ,
--64.9146 ,
--49.8949 ,
-54.5282 ,
-168.2132 ,
-212.6396 ,
-223.9920 ,
--207.2880 ,
--212.6396 ,
--223.9920 ,
--54.5282 ,
--168.2132 ,
-33.1480 ,
-38.9058 ,
-60.4121 ,
-64.9146 ,
-93.6030 ,
-98.9546 ,
-146.8330 ,
-152.5908 ,
-174.0971 ,
-178.5996 ,
-163.5799 ,
-110.3070 ,
-49.8949 ,
--3.3780 ,
--117.0630 ,
--123.3730 ,
--144.3271 ,
--180.9761 ,
--133.7670 ,
--70.6724 ,
--88.8007 ,
--80.5370 ,
--9.6880 ,
--30.6421 ,
--67.2911 ,
--20.0820 ,
-196.7279 ,
-218.6404 ,
-46.3939 ,
-104.9554 ,
-160.0790 ,
-24.8843 ,
-56.4819 ,
-83.0429 ,
-138.5693 ,
-170.1669 ,
-184.3574 ,
-202.4857 ,
-194.2220 ,
--184.3574 ,
--202.4857 ,
--194.2220 ,
--24.8843 ,
--83.0429 ,
--138.5693 ,
--170.1669 ,
--56.4819 ,
--196.7279 ,
--46.3939 ,
--104.9554 ,
--160.0790 ,
--218.6404 ,
-3.3780 ,
-9.6880 ,
-30.6421 ,
-67.2911 ,
-70.6724 ,
-88.8007 ,
-117.0630 ,
-123.3730 ,
-144.3271 ,
-180.9761 ,
-133.7670 ,
-80.5370 ,
-20.0820 ,
-187.0399 ,
--12.0644 ,
--73.3549 ,
--125.7494 ,
--187.0399 ,
-12.0644 ,
-73.3549 ,
-125.7494 ,
--27.2641 ,
-21.5063 ,
--21.5063 ,
-195.6034 ,
-217.6821 ,
-43.0126 ,
-103.9970 ,
-156.6976 ,
-221.6122 ,
-227.3700 ,
-210.8257 ,
-21.5063 ,
-48.7704 ,
-53.2729 ,
-81.9184 ,
-107.9272 ,
-113.6850 ,
-135.1913 ,
-162.4554 ,
-166.9579 ,
-151.7356 ,
-97.1407 ,
-38.0506 ,
--53.2729 ,
-53.2729 ,
-27.2641 ,
-200.1059 ,
-205.8637 ,
-189.3194 ,
--200.1059 ,
--205.8637 ,
--189.3194 ,
--21.5063 ,
--81.9184 ,
--135.1913 ,
--162.4554 ,
--166.9579 ,
--151.7356 ,
--107.9272 ,
--113.6850 ,
--97.1407 ,
--48.7704 ,
--53.2729 ,
--38.0506 ,
--195.6034 ,
--221.6122 ,
--227.3700 ,
--210.8257 ,
--43.0126 ,
--103.9970 ,
--156.6976 ,
--217.6821 ,
--93.6030 ,
-93.6030 ,
-113.6850 ,
-227.3700 ,
--113.6850 ,
--227.3700 ,
-65.3373 ,
-104.9554 ,
--104.9554 ,
--65.3373 ,
-0.0 ,
-5.7578 ,
-27.2641 ,
-0.0000 ,
-31.7667 ,
-59.1568 ,
-63.7901 ,
-86.4209 ,
-92.1787 ,
-119.4428 ,
-140.9491 ,
-145.4517 ,
-172.8418 ,
-177.4751 ,
-130.2293 ,
-75.6344 ,
-16.5443 ,
--73.6807 ,
-73.6807 ,
--8.7296 ,
--122.4146 ,
--128.4154 ,
--149.3818 ,
--154.0151 ,
--74.7792 ,
--96.1089 ,
--101.6206 ,
--14.7304 ,
--35.6968 ,
--40.3301 ,
-188.4642 ,
-209.7939 ,
-215.3056 ,
--188.4642 ,
--209.7939 ,
-8.7296 ,
-14.7304 ,
-35.6968 ,
--215.3056 ,
-40.3301 ,
-74.7792 ,
-96.1089 ,
-101.6206 ,
-122.4146 ,
-128.4154 ,
-149.3818 ,
-154.0151 ,
-191.6732 ,
--17.5761 ,
--77.9882 ,
--131.2611 ,
--191.6732 ,
-17.5761 ,
-77.9882 ,
-131.2611 ,
+EXTR2("!" , 0.0 , 0x32 ) ,
+EXTR2("!!!(" , -119.4428 , 0x5A ) ,
+EXTR2("!!!)" , -140.9491 , 0x50 ) ,
+EXTR2("!!!/" , -145.4517 , 0x4E ) ,
+EXTR2("!!!/)" , -172.8418 , 0x41 ) ,
+EXTR2("!!!//" , -177.4751 , 0x3F ) ,
+EXTR2("!!!~" , -130.2293 , 0x55 ) ,
+EXTR2("!!)" , -86.4209 , 0x68 ) ,
+EXTR2("!!/" , -92.1787 , 0x66 ) ,
+EXTR2("!!~" , -75.6344 , 0x6D ) ,
+EXTR2("!(" , -5.7578 , 0x8E ) ,
+EXTR2("!)" , -27.2641 , 0x84 ) ,
+EXTR2("!/" , -31.7667 , 0x82 ) ,
+EXTR2("!/)" , -59.1568 , 0x75 ) ,
+EXTR2("!//" , -63.7901 , 0x73 ) ,
+EXTR2("!~" , -16.5443 , 0x89 ) ,
+EXTR2("(" , 207.2880 , 0xEF ) ,
+EXTR2("(!" , -33.1480 , 0x81 ) ,
+EXTR2("(!!" , -93.6030 , 0x65 ) ,
+EXTR2("(!!!" , -146.8330 , 0x4D ) ,
+EXTR2("(!!!(" , -152.5908 , 0x4A ) ,
+EXTR2("(!!!)" , -174.0971 , 0x40 ) ,
+EXTR2("(!!!/" , -178.5996 , 0x3E ) ,
+EXTR2("(!!!~" , -163.5799 , 0x45 ) ,
+EXTR2("(!!(" , -98.9546 , 0x62 ) ,
+EXTR2("(!!~" , -110.3070 , 0x5D ) ,
+EXTR2("(!(" , -38.9058 , 0x7E ) ,
+EXTR2("(!)" , -60.4121 , 0x74 ) ,
+EXTR2("(!/" , -64.9146 , 0x72 ) ,
+EXTR2("(!~" , -49.8949 , 0x79 ) ,
+EXTR2("(/|" , 54.5282 , 0xA9 ) ,
+EXTR2("(/|||" , 168.2132 , 0xDD ) ,
+EXTR2("(X(" , 212.6396 , 0xF2 ) ,
+EXTR2("(X~" , 223.9920 , 0xF7 ) ,
+EXTR2("(Y" , -207.2880 , 0x31 ) ,
+EXTR2("(Y(" , -212.6396 , 0x2E ) ,
+EXTR2("(Y~" , -223.9920 , 0x29 ) ,
+EXTR2("(\\!" , -54.5282 , 0x77 ) ,
+EXTR2("(\\!!!" , -168.2132 , 0x43 ) ,
+EXTR2("(|" , 33.1480 , 0x9F ) ,
+EXTR2("(|(" , 38.9058 , 0xA2 ) ,
+EXTR2("(|)" , 60.4121 , 0xAC ) ,
+EXTR2("(|\\" , 64.9146 , 0xAE ) ,
+EXTR2("(||" , 93.6030 , 0xBB ) ,
+EXTR2("(||(" , 98.9546 , 0xBE ) ,
+EXTR2("(|||" , 146.8330 , 0xD3 ) ,
+EXTR2("(|||(" , 152.5908 , 0xD6 ) ,
+EXTR2("(|||)" , 174.0971 , 0xE0 ) ,
+EXTR2("(|||\\" , 178.5996 , 0xE2 ) ,
+EXTR2("(|||~" , 163.5799 , 0xDB ) ,
+EXTR2("(||~" , 110.3070 , 0xC3 ) ,
+EXTR2("(|~" , 49.8949 , 0xA7 ) ,
+EXTR2(")!" , -3.3780 , 0x8F ) ,
+EXTR2(")!!!" , -117.0630 , 0x5B ) ,
+EXTR2(")!!!(" , -123.3730 , 0x58 ) ,
+EXTR2(")!!!)" , -144.3271 , 0x4F ) ,
+EXTR2(")!!!//" , -180.9761 , 0x3D ) ,
+EXTR2(")!!!~" , -133.7670 , 0x53 ) ,
+EXTR2(")!!(" , -70.6724 , 0x70 ) ,
+EXTR2(")!!)" , -88.8007 , 0x67 ) ,
+EXTR2(")!!~" , -80.5370 , 0x6B ) ,
+EXTR2(")!(" , -9.6880 , 0x8C ) ,
+EXTR2(")!)" , -30.6421 , 0x83 ) ,
+EXTR2(")!//" , -67.2911 , 0x71 ) ,
+EXTR2(")!~" , -20.0820 , 0x87 ) ,
+EXTR2(")/" , 196.7279 , 0xEB ) ,
+EXTR2(")//" , 218.6404 , 0xF5 ) ,
+EXTR2(")//|" , 46.3939 , 0xA5 ) ,
+EXTR2(")//||" , 104.9554 , 0xC1 ) ,
+EXTR2(")//|||" , 160.0790 , 0xD9 ) ,
+EXTR2(")/|" , 24.8843 , 0x9B ) ,
+EXTR2(")/|\\" , 56.4819 , 0xAA ) ,
+EXTR2(")/||" , 83.0429 , 0xB7 ) ,
+EXTR2(")/|||" , 138.5693 , 0xCF ) ,
+EXTR2(")/|||\\" , 170.1669 , 0xDE ) ,
+EXTR2(")X(" , 184.3574 , 0xE4 ) ,
+EXTR2(")X)" , 202.4857 , 0xED ) ,
+EXTR2(")X~" , 194.2220 , 0xE9 ) ,
+EXTR2(")Y(" , -184.3574 , 0x3C ) ,
+EXTR2(")Y)" , -202.4857 , 0x33 ) ,
+EXTR2(")Y~" , -194.2220 , 0x37 ) ,
+EXTR2(")\\!" , -24.8843 , 0x85 ) ,
+EXTR2(")\\!!" , -83.0429 , 0x69 ) ,
+EXTR2(")\\!!!" , -138.5693 , 0x51 ) ,
+EXTR2(")\\!!!/" , -170.1669 , 0x42 ) ,
+EXTR2(")\\!/" , -56.4819 , 0x76 ) ,
+EXTR2(")\\Y" , -196.7279 , 0x35 ) ,
+EXTR2(")\\\\!" , -46.3939 , 0x7B ) ,
+EXTR2(")\\\\!!" , -104.9554 , 0x5F ) ,
+EXTR2(")\\\\!!!" , -160.0790 , 0x47 ) ,
+EXTR2(")\\\\Y" , -218.6404 , 0x2B ) ,
+EXTR2(")|" , 3.3780 , 0x91 ) ,
+EXTR2(")|(" , 9.6880 , 0x94 ) ,
+EXTR2(")|)" , 30.6421 , 0x9D ) ,
+EXTR2(")|\\\\" , 67.2911 , 0xAF ) ,
+EXTR2(")||(" , 70.6724 , 0xB0 ) ,
+EXTR2(")||)" , 88.8007 , 0xB9 ) ,
+EXTR2(")|||" , 117.0630 , 0xC5 ) ,
+EXTR2(")|||(" , 123.3730 , 0xC8 ) ,
+EXTR2(")|||)" , 144.3271 , 0xD1 ) ,
+EXTR2(")|||\\\\" , 180.9761 , 0xE3 ) ,
+EXTR2(")|||~" , 133.7670 , 0xCD ) ,
+EXTR2(")||~" , 80.5370 , 0xB5 ) ,
+EXTR2(")|~" , 20.0820 , 0x99 ) ,
+EXTR2(")~" , 187.0399 , 0xE5 ) ,
+EXTR2(")~!" , -12.0644 , 0x8B ) ,
+EXTR2(")~!!" , -73.3549 , 0x6F ) ,
+EXTR2(")~!!!" , -125.7494 , 0x57 ) ,
+EXTR2(")~Y" , -187.0399 , 0x3B ) ,
+EXTR2(")~|" , 12.0644 , 0x95 ) ,
+EXTR2(")~||" , 73.3549 , 0xB1 ) ,
+EXTR2(")~|||" , 125.7494 , 0xC9 ) ,
+EXTR2("*" , -27.2641 , 0x84 ) ,
+EXTR2("+" , 21.5063 , 0x9A ) ,
+EXTR2("-" , -21.5063 , 0x86 ) ,
+EXTR2("/" , 195.6034 , 0xEA ) ,
+EXTR2("//" , 217.6821 , 0xF4 ) ,
+EXTR2("//|" , 43.0126 , 0xA4 ) ,
+EXTR2("//||" , 103.9970 , 0xC0 ) ,
+EXTR2("//|||" , 156.6976 , 0xD8 ) ,
+EXTR2("/X)" , 221.6122 , 0xF6 ) ,
+EXTR2("/X\\" , 227.3700 , 0xF8 ) ,
+EXTR2("/X~" , 210.8257 , 0xF1 ) ,
+EXTR2("/|" , 21.5063 , 0x9A ) ,
+EXTR2("/|)" , 48.7704 , 0xA6 ) ,
+EXTR2("/|\\" , 53.2729 , 0xA8 ) ,
+EXTR2("/||" , 81.9184 , 0xB6 ) ,
+EXTR2("/||)" , 107.9272 , 0xC2 ) ,
+EXTR2("/||\\" , 113.6850 , 0xC4 ) ,
+EXTR2("/|||" , 135.1913 , 0xCE ) ,
+EXTR2("/|||)" , 162.4554 , 0xDA ) ,
+EXTR2("/|||\\" , 166.9579 , 0xDC ) ,
+EXTR2("/|||~" , 151.7356 , 0xD5 ) ,
+EXTR2("/||~" , 97.1407 , 0xBD ) ,
+EXTR2("/|~" , 38.0506 , 0xA1 ) ,
+EXTR2("<" , -53.2729 , 0x78 ) ,
+EXTR2(">" , 53.2729 , 0xA8 ) ,
+EXTR2("@" , 27.2641 , 0x9C ) ,
+EXTR2("X)" , 200.1059 , 0xEC ) ,
+EXTR2("X\\" , 205.8637 , 0xEE ) ,
+EXTR2("X~" , 189.3194 , 0xE7 ) ,
+EXTR2("Y)" , -200.1059 , 0x34 ) ,
+EXTR2("Y/" , -205.8637 , 0x32 ) ,
+EXTR2("Y~" , -189.3194 , 0x39 ) ,
+EXTR2("[" , -93.6030 , 0x65 ) ,
+EXTR2("\\!" , -21.5063 , 0x86 ) ,
+EXTR2("\\!!" , -81.9184 , 0x6A ) ,
+EXTR2("\\!!!" , -135.1913 , 0x52 ) ,
+EXTR2("\\!!!)" , -162.4554 , 0x46 ) ,
+EXTR2("\\!!!/" , -166.9579 , 0x44 ) ,
+EXTR2("\\!!!~" , -151.7356 , 0x4B ) ,
+EXTR2("\\!!)" , -107.9272 , 0x5E ) ,
+EXTR2("\\!!/" , -113.6850 , 0x5C ) ,
+EXTR2("\\!!~" , -97.1407 , 0x63 ) ,
+EXTR2("\\!)" , -48.7704 , 0x7A ) ,
+EXTR2("\\!/" , -53.2729 , 0x78 ) ,
+EXTR2("\\!~" , -38.0506 , 0x7F ) ,
+EXTR2("\\Y" , -195.6034 , 0x36 ) ,
+EXTR2("\\Y)" , -221.6122 , 0x2A ) ,
+EXTR2("\\Y/" , -227.3700 , 0x28 ) ,
+EXTR2("\\Y~" , -210.8257 , 0x2F ) ,
+EXTR2("\\\\!" , -43.0126 , 0x7C ) ,
+EXTR2("\\\\!!" , -103.9970 , 0x60 ) ,
+EXTR2("\\\\!!!" , -156.6976 , 0x48 ) ,
+EXTR2("\\\\Y" , -217.6821 , 0x2C ) ,
+EXTR2("]" , 93.6030 , 0xBB ) ,
+EXTR2("^" , 113.6850 , 0xFD ) ,
+EXTR2("^^" , 227.3700 , 0xFF ) ,
+EXTR2("_" , -113.6850 , 0x23 ) ,
+EXTR2("__" , -227.3700 , 0x21 ) ,
+EXTR2("m" , 65.3373 , 0x12 ) ,
+EXTR2("n" , 104.9554 , 0xC1 ) ,
+EXTR2("v" , -104.9554 , 0x5F ) ,
+EXTR2("w" , -65.3373 , 0x10 ) ,
+EXTR2("{" , -73.6807 , 0x11 ) ,
+EXTR2("|" , 0.0 , 0x32 ) ,
+EXTR2("|(" , 5.7578 , 0x92 ) ,
+EXTR2("|)" , 27.2641 , 0x9C ) ,
+EXTR2("|//|" , 0.0000 , 0x90 ) ,
+EXTR2("|\\" , 31.7667 , 0x9E ) ,
+EXTR2("|\\)" , 59.1568 , 0xAB ) ,
+EXTR2("|\\\\" , 63.7901 , 0xAD ) ,
+EXTR2("||)" , 86.4209 , 0xB8 ) ,
+EXTR2("||\\" , 92.1787 , 0xBA ) ,
+EXTR2("|||(" , 119.4428 , 0xC6 ) ,
+EXTR2("|||)" , 140.9491 , 0xD0 ) ,
+EXTR2("|||\\" , 145.4517 , 0xD2 ) ,
+EXTR2("|||\\)" , 172.8418 , 0xDF ) ,
+EXTR2("|||\\\\" , 177.4751 , 0xE1 ) ,
+EXTR2("|||~" , 130.2293 , 0xCB ) ,
+EXTR2("||~" , 75.6344 , 0xB3 ) ,
+EXTR2("|~" , 16.5443 , 0x97 ) ,
+EXTR2("}" , 73.6807 , 0x13 ) ,
+EXTR2("~!" , -8.7296 , 0x8D ) ,
+EXTR2("~!!!" , -122.4146 , 0x59 ) ,
+EXTR2("~!!!(" , -128.4154 , 0x56 ) ,
+EXTR2("~!!!)" , -149.3818 , 0x4C ) ,
+EXTR2("~!!!/" , -154.0151 , 0x49 ) ,
+EXTR2("~!!(" , -74.7792 , 0x6E ) ,
+EXTR2("~!!)" , -96.1089 , 0x64 ) ,
+EXTR2("~!!/" , -101.6206 , 0x61 ) ,
+EXTR2("~!(" , -14.7304 , 0x8A ) ,
+EXTR2("~!)" , -35.6968 , 0x80 ) ,
+EXTR2("~!/" , -40.3301 , 0x7D ) ,
+EXTR2("~X(" , 188.4642 , 0xE6 ) ,
+EXTR2("~X)" , 209.7939 , 0xF0 ) ,
+EXTR2("~X\\" , 215.3056 , 0xF3 ) ,
+EXTR2("~Y(" , -188.4642 , 0x3A ) ,
+EXTR2("~Y)" , -209.7939 , 0x30 ) ,
+EXTR2("~|" , 8.7296 , 0x93 ) ,
+EXTR2("~|(" , 14.7304 , 0x96 ) ,
+EXTR2("~|)" , 35.6968 , 0xA0 ) ,
+EXTR2("~|/" , -215.3056 , 0x2D ) ,
+EXTR2("~|\\" , 40.3301 , 0xA3 ) ,
+EXTR2("~||(" , 74.7792 , 0xB2 ) ,
+EXTR2("~||)" , 96.1089 , 0xBC ) ,
+EXTR2("~||\\" , 101.6206 , 0xBF ) ,
+EXTR2("~|||" , 122.4146 , 0xC7 ) ,
+EXTR2("~|||(" , 128.4154 , 0xCA ) ,
+EXTR2("~|||)" , 149.3818 , 0xD4 ) ,
+EXTR2("~|||\\" , 154.0151 , 0xD7 ) ,
+EXTR2("~~" , 191.6732 , 0xE8 ) ,
+EXTR2("~~!" , -17.5761 , 0x88 ) ,
+EXTR2("~~!!" , -77.9882 , 0x6C ) ,
+EXTR2("~~!!!" , -131.2611 , 0x54 ) ,
+EXTR2("~~Y" , -191.6732 , 0x38 ) ,
+EXTR2("~~|" , 17.5761 , 0x98 ) ,
+EXTR2("~~||" , 77.9882 , 0xB4 ) ,
+EXTR2("~~|||" , 131.2611 , 0xCC ) ,
+
};

unsigned char sagittalcode[] = {
-0x32 ,
-0x5A ,
-0x50 ,
-0x4E ,
-0x41 ,
-0x3F ,
-0x55 ,
-0x68 ,
-0x66 ,
-0x6D ,
-0x8E ,
-0x84 ,
-0x82 ,
-0x75 ,
-0x73 ,
-0x89 ,
-0xEF ,
-0x81 ,
-0x65 ,
-0x4D ,
-0x4A ,
-0x40 ,
-0x3E ,
-0x45 ,
-0x62 ,
-0x5D ,
-0x7E ,
-0x74 ,
-0x72 ,
-0x79 ,
-0xA9 ,
-0xDD ,
-0xF2 ,
-0xF7 ,
-0x31 ,
-0x2E ,
-0x29 ,
-0x77 ,
-0x43 ,
-0x9F ,
-0xA2 ,
-0xAC ,
-0xAE ,
-0xBB ,
-0xBE ,
-0xD3 ,
-0xD6 ,
-0xE0 ,
-0xE2 ,
-0xDB ,
-0xC3 ,
-0xA7 ,
-0x8F ,
-0x5B ,
-0x58 ,
-0x4F ,
-0x3D ,
-0x53 ,
-0x70 ,
-0x67 ,
-0x6B ,
-0x8C ,
-0x83 ,
-0x71 ,
-0x87 ,
-0xEB ,
-0xF5 ,
-0xA5 ,
-0xC1 ,
-0xD9 ,
-0x9B ,
-0xAA ,
-0xB7 ,
-0xCF ,
-0xDE ,
-0xE4 ,
-0xED ,
-0xE9 ,
-0x3C ,
-0x33 ,
-0x37 ,
-0x85 ,
-0x69 ,
-0x51 ,
-0x42 ,
-0x76 ,
-0x35 ,
-0x7B ,
-0x5F ,
-0x47 ,
-0x2B ,
-0x91 ,
-0x94 ,
-0x9D ,
-0xAF ,
-0xB0 ,
-0xB9 ,
-0xC5 ,
-0xC8 ,
-0xD1 ,
-0xE3 ,
-0xCD ,
-0xB5 ,
-0x99 ,
-0xE5 ,
-0x8B ,
-0x6F ,
-0x57 ,
-0x3B ,
-0x95 ,
-0xB1 ,
-0xC9 ,
-0x84 ,
-0x9A ,
-0x86 ,
-0xEA ,
-0xF4 ,
-0xA4 ,
-0xC0 ,
-0xD8 ,
-0xF6 ,
-0xF8 ,
-0xF1 ,
-0x9A ,
-0xA6 ,
-0xA8 ,
-0xB6 ,
-0xC2 ,
-0xC4 ,
-0xCE ,
-0xDA ,
-0xDC ,
-0xD5 ,
-0xBD ,
-0xA1 ,
-0x78 ,
-0xA8 ,
-0x9C ,
-0xEC ,
-0xEE ,
-0xE7 ,
-0x34 ,
-0x32 ,
-0x39 ,
-0x86 ,
-0x6A ,
-0x52 ,
-0x46 ,
-0x44 ,
-0x4B ,
-0x5E ,
-0x5C ,
-0x63 ,
-0x7A ,
-0x78 ,
-0x7F ,
-0x36 ,
-0x2A ,
-0x28 ,
-0x2F ,
-0x7C ,
-0x60 ,
-0x48 ,
-0x2C ,
-0x65 ,
-0xBB ,
-0xFD ,
-0xFF ,
-0x23 ,
-0x21 ,
-0x12 ,
-0xC1 ,
-0x5F ,
-0x10 ,
-0x32 ,
-0x92 ,
-0x9C ,
-0x90 ,
-0x9E ,
-0xAB ,
-0xAD ,
-0xB8 ,
-0xBA ,
-0xC6 ,
-0xD0 ,
-0xD2 ,
-0xDF ,
-0xE1 ,
-0xCB ,
-0xB3 ,
-0x97 ,
-0x11 ,
-0x13 ,
-0x8D ,
-0x59 ,
-0x56 ,
-0x4C ,
-0x49 ,
-0x6E ,
-0x64 ,
-0x61 ,
-0x8A ,
-0x80 ,
-0x7D ,
-0xE6 ,
-0xF0 ,
-0xF3 ,
-0x3A ,
-0x30 ,
-0x93 ,
-0x96 ,
-0xA0 ,
-0x2D ,
-0xA3 ,
-0xB2 ,
-0xBC ,
-0xBF ,
-0xC7 ,
-0xCA ,
-0xD4 ,
-0xD7 ,
-0xE8 ,
-0x88 ,
-0x6C ,
-0x54 ,
-0x38 ,
-0x98 ,
-0xB4 ,
-0xCC ,
+EXTR3("!" , 0.0 , 0x32 ) ,
+EXTR3("!!!(" , -119.4428 , 0x5A ) ,
+EXTR3("!!!)" , -140.9491 , 0x50 ) ,
+EXTR3("!!!/" , -145.4517 , 0x4E ) ,
+EXTR3("!!!/)" , -172.8418 , 0x41 ) ,
+EXTR3("!!!//" , -177.4751 , 0x3F ) ,
+EXTR3("!!!~" , -130.2293 , 0x55 ) ,
+EXTR3("!!)" , -86.4209 , 0x68 ) ,
+EXTR3("!!/" , -92.1787 , 0x66 ) ,
+EXTR3("!!~" , -75.6344 , 0x6D ) ,
+EXTR3("!(" , -5.7578 , 0x8E ) ,
+EXTR3("!)" , -27.2641 , 0x84 ) ,
+EXTR3("!/" , -31.7667 , 0x82 ) ,
+EXTR3("!/)" , -59.1568 , 0x75 ) ,
+EXTR3("!//" , -63.7901 , 0x73 ) ,
+EXTR3("!~" , -16.5443 , 0x89 ) ,
+EXTR3("(" , 207.2880 , 0xEF ) ,
+EXTR3("(!" , -33.1480 , 0x81 ) ,
+EXTR3("(!!" , -93.6030 , 0x65 ) ,
+EXTR3("(!!!" , -146.8330 , 0x4D ) ,
+EXTR3("(!!!(" , -152.5908 , 0x4A ) ,
+EXTR3("(!!!)" , -174.0971 , 0x40 ) ,
+EXTR3("(!!!/" , -178.5996 , 0x3E ) ,
+EXTR3("(!!!~" , -163.5799 , 0x45 ) ,
+EXTR3("(!!(" , -98.9546 , 0x62 ) ,
+EXTR3("(!!~" , -110.3070 , 0x5D ) ,
+EXTR3("(!(" , -38.9058 , 0x7E ) ,
+EXTR3("(!)" , -60.4121 , 0x74 ) ,
+EXTR3("(!/" , -64.9146 , 0x72 ) ,
+EXTR3("(!~" , -49.8949 , 0x79 ) ,
+EXTR3("(/|" , 54.5282 , 0xA9 ) ,
+EXTR3("(/|||" , 168.2132 , 0xDD ) ,
+EXTR3("(X(" , 212.6396 , 0xF2 ) ,
+EXTR3("(X~" , 223.9920 , 0xF7 ) ,
+EXTR3("(Y" , -207.2880 , 0x31 ) ,
+EXTR3("(Y(" , -212.6396 , 0x2E ) ,
+EXTR3("(Y~" , -223.9920 , 0x29 ) ,
+EXTR3("(\\!" , -54.5282 , 0x77 ) ,
+EXTR3("(\\!!!" , -168.2132 , 0x43 ) ,
+EXTR3("(|" , 33.1480 , 0x9F ) ,
+EXTR3("(|(" , 38.9058 , 0xA2 ) ,
+EXTR3("(|)" , 60.4121 , 0xAC ) ,
+EXTR3("(|\\" , 64.9146 , 0xAE ) ,
+EXTR3("(||" , 93.6030 , 0xBB ) ,
+EXTR3("(||(" , 98.9546 , 0xBE ) ,
+EXTR3("(|||" , 146.8330 , 0xD3 ) ,
+EXTR3("(|||(" , 152.5908 , 0xD6 ) ,
+EXTR3("(|||)" , 174.0971 , 0xE0 ) ,
+EXTR3("(|||\\" , 178.5996 , 0xE2 ) ,
+EXTR3("(|||~" , 163.5799 , 0xDB ) ,
+EXTR3("(||~" , 110.3070 , 0xC3 ) ,
+EXTR3("(|~" , 49.8949 , 0xA7 ) ,
+EXTR3(")!" , -3.3780 , 0x8F ) ,
+EXTR3(")!!!" , -117.0630 , 0x5B ) ,
+EXTR3(")!!!(" , -123.3730 , 0x58 ) ,
+EXTR3(")!!!)" , -144.3271 , 0x4F ) ,
+EXTR3(")!!!//" , -180.9761 , 0x3D ) ,
+EXTR3(")!!!~" , -133.7670 , 0x53 ) ,
+EXTR3(")!!(" , -70.6724 , 0x70 ) ,
+EXTR3(")!!)" , -88.8007 , 0x67 ) ,
+EXTR3(")!!~" , -80.5370 , 0x6B ) ,
+EXTR3(")!(" , -9.6880 , 0x8C ) ,
+EXTR3(")!)" , -30.6421 , 0x83 ) ,
+EXTR3(")!//" , -67.2911 , 0x71 ) ,
+EXTR3(")!~" , -20.0820 , 0x87 ) ,
+EXTR3(")/" , 196.7279 , 0xEB ) ,
+EXTR3(")//" , 218.6404 , 0xF5 ) ,
+EXTR3(")//|" , 46.3939 , 0xA5 ) ,
+EXTR3(")//||" , 104.9554 , 0xC1 ) ,
+EXTR3(")//|||" , 160.0790 , 0xD9 ) ,
+EXTR3(")/|" , 24.8843 , 0x9B ) ,
+EXTR3(")/|\\" , 56.4819 , 0xAA ) ,
+EXTR3(")/||" , 83.0429 , 0xB7 ) ,
+EXTR3(")/|||" , 138.5693 , 0xCF ) ,
+EXTR3(")/|||\\" , 170.1669 , 0xDE ) ,
+EXTR3(")X(" , 184.3574 , 0xE4 ) ,
+EXTR3(")X)" , 202.4857 , 0xED ) ,
+EXTR3(")X~" , 194.2220 , 0xE9 ) ,
+EXTR3(")Y(" , -184.3574 , 0x3C ) ,
+EXTR3(")Y)" , -202.4857 , 0x33 ) ,
+EXTR3(")Y~" , -194.2220 , 0x37 ) ,
+EXTR3(")\\!" , -24.8843 , 0x85 ) ,
+EXTR3(")\\!!" , -83.0429 , 0x69 ) ,
+EXTR3(")\\!!!" , -138.5693 , 0x51 ) ,
+EXTR3(")\\!!!/" , -170.1669 , 0x42 ) ,
+EXTR3(")\\!/" , -56.4819 , 0x76 ) ,
+EXTR3(")\\Y" , -196.7279 , 0x35 ) ,
+EXTR3(")\\\\!" , -46.3939 , 0x7B ) ,
+EXTR3(")\\\\!!" , -104.9554 , 0x5F ) ,
+EXTR3(")\\\\!!!" , -160.0790 , 0x47 ) ,
+EXTR3(")\\\\Y" , -218.6404 , 0x2B ) ,
+EXTR3(")|" , 3.3780 , 0x91 ) ,
+EXTR3(")|(" , 9.6880 , 0x94 ) ,
+EXTR3(")|)" , 30.6421 , 0x9D ) ,
+EXTR3(")|\\\\" , 67.2911 , 0xAF ) ,
+EXTR3(")||(" , 70.6724 , 0xB0 ) ,
+EXTR3(")||)" , 88.8007 , 0xB9 ) ,
+EXTR3(")|||" , 117.0630 , 0xC5 ) ,
+EXTR3(")|||(" , 123.3730 , 0xC8 ) ,
+EXTR3(")|||)" , 144.3271 , 0xD1 ) ,
+EXTR3(")|||\\\\" , 180.9761 , 0xE3 ) ,
+EXTR3(")|||~" , 133.7670 , 0xCD ) ,
+EXTR3(")||~" , 80.5370 , 0xB5 ) ,
+EXTR3(")|~" , 20.0820 , 0x99 ) ,
+EXTR3(")~" , 187.0399 , 0xE5 ) ,
+EXTR3(")~!" , -12.0644 , 0x8B ) ,
+EXTR3(")~!!" , -73.3549 , 0x6F ) ,
+EXTR3(")~!!!" , -125.7494 , 0x57 ) ,
+EXTR3(")~Y" , -187.0399 , 0x3B ) ,
+EXTR3(")~|" , 12.0644 , 0x95 ) ,
+EXTR3(")~||" , 73.3549 , 0xB1 ) ,
+EXTR3(")~|||" , 125.7494 , 0xC9 ) ,
+EXTR3("*" , -27.2641 , 0x84 ) ,
+EXTR3("+" , 21.5063 , 0x9A ) ,
+EXTR3("-" , -21.5063 , 0x86 ) ,
+EXTR3("/" , 195.6034 , 0xEA ) ,
+EXTR3("//" , 217.6821 , 0xF4 ) ,
+EXTR3("//|" , 43.0126 , 0xA4 ) ,
+EXTR3("//||" , 103.9970 , 0xC0 ) ,
+EXTR3("//|||" , 156.6976 , 0xD8 ) ,
+EXTR3("/X)" , 221.6122 , 0xF6 ) ,
+EXTR3("/X\\" , 227.3700 , 0xF8 ) ,
+EXTR3("/X~" , 210.8257 , 0xF1 ) ,
+EXTR3("/|" , 21.5063 , 0x9A ) ,
+EXTR3("/|)" , 48.7704 , 0xA6 ) ,
+EXTR3("/|\\" , 53.2729 , 0xA8 ) ,
+EXTR3("/||" , 81.9184 , 0xB6 ) ,
+EXTR3("/||)" , 107.9272 , 0xC2 ) ,
+EXTR3("/||\\" , 113.6850 , 0xC4 ) ,
+EXTR3("/|||" , 135.1913 , 0xCE ) ,
+EXTR3("/|||)" , 162.4554 , 0xDA ) ,
+EXTR3("/|||\\" , 166.9579 , 0xDC ) ,
+EXTR3("/|||~" , 151.7356 , 0xD5 ) ,
+EXTR3("/||~" , 97.1407 , 0xBD ) ,
+EXTR3("/|~" , 38.0506 , 0xA1 ) ,
+EXTR3("<" , -53.2729 , 0x78 ) ,
+EXTR3(">" , 53.2729 , 0xA8 ) ,
+EXTR3("@" , 27.2641 , 0x9C ) ,
+EXTR3("X)" , 200.1059 , 0xEC ) ,
+EXTR3("X\\" , 205.8637 , 0xEE ) ,
+EXTR3("X~" , 189.3194 , 0xE7 ) ,
+EXTR3("Y)" , -200.1059 , 0x34 ) ,
+EXTR3("Y/" , -205.8637 , 0x32 ) ,
+EXTR3("Y~" , -189.3194 , 0x39 ) ,
+EXTR3("[" , -93.6030 , 0x65 ) ,
+EXTR3("\\!" , -21.5063 , 0x86 ) ,
+EXTR3("\\!!" , -81.9184 , 0x6A ) ,
+EXTR3("\\!!!" , -135.1913 , 0x52 ) ,
+EXTR3("\\!!!)" , -162.4554 , 0x46 ) ,
+EXTR3("\\!!!/" , -166.9579 , 0x44 ) ,
+EXTR3("\\!!!~" , -151.7356 , 0x4B ) ,
+EXTR3("\\!!)" , -107.9272 , 0x5E ) ,
+EXTR3("\\!!/" , -113.6850 , 0x5C ) ,
+EXTR3("\\!!~" , -97.1407 , 0x63 ) ,
+EXTR3("\\!)" , -48.7704 , 0x7A ) ,
+EXTR3("\\!/" , -53.2729 , 0x78 ) ,
+EXTR3("\\!~" , -38.0506 , 0x7F ) ,
+EXTR3("\\Y" , -195.6034 , 0x36 ) ,
+EXTR3("\\Y)" , -221.6122 , 0x2A ) ,
+EXTR3("\\Y/" , -227.3700 , 0x28 ) ,
+EXTR3("\\Y~" , -210.8257 , 0x2F ) ,
+EXTR3("\\\\!" , -43.0126 , 0x7C ) ,
+EXTR3("\\\\!!" , -103.9970 , 0x60 ) ,
+EXTR3("\\\\!!!" , -156.6976 , 0x48 ) ,
+EXTR3("\\\\Y" , -217.6821 , 0x2C ) ,
+EXTR3("]" , 93.6030 , 0xBB ) ,
+EXTR3("^" , 113.6850 , 0xFD ) ,
+EXTR3("^^" , 227.3700 , 0xFF ) ,
+EXTR3("_" , -113.6850 , 0x23 ) ,
+EXTR3("__" , -227.3700 , 0x21 ) ,
+EXTR3("m" , 65.3373 , 0x12 ) ,
+EXTR3("n" , 104.9554 , 0xC1 ) ,
+EXTR3("v" , -104.9554 , 0x5F ) ,
+EXTR3("w" , -65.3373 , 0x10 ) ,
+EXTR3("{" , -73.6807 , 0x11 ) ,
+EXTR3("|" , 0.0 , 0x32 ) ,
+EXTR3("|(" , 5.7578 , 0x92 ) ,
+EXTR3("|)" , 27.2641 , 0x9C ) ,
+EXTR3("|//|" , 0.0000 , 0x90 ) ,
+EXTR3("|\\" , 31.7667 , 0x9E ) ,
+EXTR3("|\\)" , 59.1568 , 0xAB ) ,
+EXTR3("|\\\\" , 63.7901 , 0xAD ) ,
+EXTR3("||)" , 86.4209 , 0xB8 ) ,
+EXTR3("||\\" , 92.1787 , 0xBA ) ,
+EXTR3("|||(" , 119.4428 , 0xC6 ) ,
+EXTR3("|||)" , 140.9491 , 0xD0 ) ,
+EXTR3("|||\\" , 145.4517 , 0xD2 ) ,
+EXTR3("|||\\)" , 172.8418 , 0xDF ) ,
+EXTR3("|||\\\\" , 177.4751 , 0xE1 ) ,
+EXTR3("|||~" , 130.2293 , 0xCB ) ,
+EXTR3("||~" , 75.6344 , 0xB3 ) ,
+EXTR3("|~" , 16.5443 , 0x97 ) ,
+EXTR3("}" , 73.6807 , 0x13 ) ,
+EXTR3("~!" , -8.7296 , 0x8D ) ,
+EXTR3("~!!!" , -122.4146 , 0x59 ) ,
+EXTR3("~!!!(" , -128.4154 , 0x56 ) ,
+EXTR3("~!!!)" , -149.3818 , 0x4C ) ,
+EXTR3("~!!!/" , -154.0151 , 0x49 ) ,
+EXTR3("~!!(" , -74.7792 , 0x6E ) ,
+EXTR3("~!!)" , -96.1089 , 0x64 ) ,
+EXTR3("~!!/" , -101.6206 , 0x61 ) ,
+EXTR3("~!(" , -14.7304 , 0x8A ) ,
+EXTR3("~!)" , -35.6968 , 0x80 ) ,
+EXTR3("~!/" , -40.3301 , 0x7D ) ,
+EXTR3("~X(" , 188.4642 , 0xE6 ) ,
+EXTR3("~X)" , 209.7939 , 0xF0 ) ,
+EXTR3("~X\\" , 215.3056 , 0xF3 ) ,
+EXTR3("~Y(" , -188.4642 , 0x3A ) ,
+EXTR3("~Y)" , -209.7939 , 0x30 ) ,
+EXTR3("~|" , 8.7296 , 0x93 ) ,
+EXTR3("~|(" , 14.7304 , 0x96 ) ,
+EXTR3("~|)" , 35.6968 , 0xA0 ) ,
+EXTR3("~|/" , -215.3056 , 0x2D ) ,
+EXTR3("~|\\" , 40.3301 , 0xA3 ) ,
+EXTR3("~||(" , 74.7792 , 0xB2 ) ,
+EXTR3("~||)" , 96.1089 , 0xBC ) ,
+EXTR3("~||\\" , 101.6206 , 0xBF ) ,
+EXTR3("~|||" , 122.4146 , 0xC7 ) ,
+EXTR3("~|||(" , 128.4154 , 0xCA ) ,
+EXTR3("~|||)" , 149.3818 , 0xD4 ) ,
+EXTR3("~|||\\" , 154.0151 , 0xD7 ) ,
+EXTR3("~~" , 191.6732 , 0xE8 ) ,
+EXTR3("~~!" , -17.5761 , 0x88 ) ,
+EXTR3("~~!!" , -77.9882 , 0x6C ) ,
+EXTR3("~~!!!" , -131.2611 , 0x54 ) ,
+EXTR3("~~Y" , -191.6732 , 0x38 ) ,
+EXTR3("~~|" , 17.5761 , 0x98 ) ,
+EXTR3("~~||" , 77.9882 , 0xB4 ) ,
+EXTR3("~~|||" , 131.2611 , 0xCC ) ,
};

+char *abcNoteAccidentalStart(abcScanner *scn)
+{
+ if (abcToken(scn) != T_NOTE) return utlEmptyString;
+ if (abcTokenStart(scn,5)==abcTokenStart(scn,0)) return utlEmptyString;
+ return abcTokenStart(scn,0);
+}

-unsigned short abcNoteAccidentals(abcScanner *scn)
+int abcNoteAccidentalLen(abcScanner *scn)
{
- unsigned short acc = 0;
- char *p;
- int k;
-
- if (abcToken(scn) == T_NOTE) {
- p = abcTokenStart(scn,1);
- for (k=0; k< abcTokenLen(scn,1) && k<10 ; k++,p++) {
- switch (*p) {
- case '_' : acc += 0x0001; break;
- case '^' : acc += 0x0010; break;
- case '=' : acc += 0x0100; break;
- }
- }
- if (*abcTokenStart(scn,0) == '(')
- acc |= 0x1000;
- }
- return acc;
+ if (abcToken(scn) != T_NOTE) return 0;
+ return abcTokenStart(scn,5)-abcTokenStart(scn,0);
}

float abcNoteDuration(abcScanner *scn)

Modified: trunk/src/abcpscan.pmx
==============================================================================
--- trunk/src/abcpscan.pmx (original)
+++ trunk/src/abcpscan.pmx Fri Mar 13 04:43:53 2009
@@ -203,6 +203,15 @@
(s)->tok_str[0][0]++; \
} while(utlZero)

+#define settoken_NOTE(s) do { \
+ settoken(s,T_NOTE); \
+ if (*(s)->tok_str[0][0] == '(' &&
(s)->tok_str[1][1][-1] == ')') \
+ (s)->tok_str[1][1]--;\
+ if (pmx(Len,2)> 0 && pmx(Len,1) > 1 &&
(s)->tok_str[1][1][-1] == '-' ) {\
+ (s)->tok_str[1][1]--; \
+ (s)->tok_str[2][0]--; \
+ } \
+ } while(utlZero)

#define stategoto(scn,st) (((scn)->prevstate = S_NONE), \
((scn)->nextstate = st))
@@ -513,12 +522,9 @@
settoken(scn,T_TEXT);
break;

-
case "<?=&(>(=<*!A-Ga-g0-9&->)(&F)(<*=/>)(&F)<?=&)>(<=A-Ga-g>)(<*=,'>)(<*d>)(<*=/>)(<*d>)" :
-
case "<?=&(>(<+=^_>)(&F)(<*=/>)(&F)<?=&)>(<=A-Ga-g>)(<*=,'>)(<*d>)(<*=/>)(<*d>)" :
-/*
case "(<*=^_=>)(&F)(<*=/>)(&F)(<=A-Ga-g>)(<*=,'>)(<*d>)(<*=/>)(<*d>)" */
- settoken(scn,T_NOTE);
- if (*pmx(Start,0) == '(' && pmx(End,1)[-1] == ')')
- scn->tok_str[1][1]--;
+
case "<?=&(>(=<*!A-Ga-g0-9>)(&F)(<*=/>)(&F)<?=&)>(<=A-Ga-g>)(<*=,'>)(<*d>)(<*=/>)(<*d>)" :
+
case "<?=&(>(<*=^_>)(&F)(<*=/>)(&F)<?=&)>(<=A-Ga-g>)(<*=,'>)(<*d>)(<*=/>)(<*d>)" :
+ settoken_NOTE(scn);
break;

case "(<=Zzx>)(<*d>)(<*=/>)(<*d>)" :

Modified: trunk/test/a7.txt
==============================================================================
--- trunk/test/a7.txt (original)
+++ trunk/test/a7.txt Fri Mar 13 04:43:53 2009
@@ -12,3 +12,9 @@

X:5
=/X\C =||)C ='|D =`|D
+
+X:6
+=+E =-E =<E =>E =[E =]E =@E =*E ={E =}E =wE =mE =vE =nE
+
+X:7
+=-1//F =-F
\ No newline at end of file

Reply all
Reply to author
Forward
0 new messages