00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <iostream>
00015 using namespace std;
00016
00017 #include "GLDriverQt.h"
00018 #include "GLDisplayListWidget.h"
00019 #include <math.h>
00020
00021 GLDriverQt::GLDriverQt()
00022 {
00023 m_glWnd = NULL;
00024 displayListIndex = 0;
00025 }
00026
00027 GLDriverQt::GLDriverQt(int DisplayList)
00028 {
00029
00030
00031 DisplayList = 0;
00032
00033
00034 m_dAlpha = 1.0;
00035 displayListIndex = glGenLists(1);
00036 glNewList(displayListIndex, GL_COMPILE);
00037 }
00038
00039 void GLDriverQt::SetGLDisplayListWidget(GLDisplayListWidget* a)
00040 {
00041 m_glWnd = a;
00042 }
00043
00044 void GLDriverQt::OpenList()
00045 {
00046 textBase = 0;
00047 m_dAlpha = 1.0;
00048 m_glWnd->makeCurrent();
00049 if(displayListIndex != 0) DeleteList();
00050 displayListIndex = glGenLists(1);
00051 glNewList(displayListIndex, GL_COMPILE);
00052 }
00053
00054 void GLDriverQt::CloseList()
00055 {
00056 m_glWnd->makeCurrent();
00057 glEndList();
00058 }
00059
00060 void GLDriverQt::DeleteList()
00061 {
00062 m_glWnd->makeCurrent();
00063 glDeleteLists(getDisplayList(), 1);
00064 displayListIndex = 0;
00065 }
00066
00067
00068 void GLDriverQt::clearFrame()
00069 {
00070 DeleteList();
00071 if(m_glWnd)
00072 {
00073 m_glWnd->updateGL();
00074 }
00075 }
00076
00077 void GLDriverQt::start()
00078 {
00079 m_glWnd->makeCurrent();
00080 OpenList();
00081 }
00082
00083 void GLDriverQt::frame()
00084 {
00085 m_glWnd->makeCurrent();
00086 if(m_glWnd)
00087 {
00088 CloseList();
00089 m_glWnd->updateGL();
00090 }
00091 }
00092
00093 GLDriverQt::~GLDriverQt()
00094 {
00095 DeleteList();
00096 }
00097
00098
00099
00100
00101
00102 void GLDriverQt::line(double x1,double y1,double x2,double y2, int dash_pattern,
00103 unsigned int user_pattern, double width,int color,double *RGB)
00104 {
00105 double X[2]; double Y[2];
00106 X[0] = x1;
00107 X[1] = x2;
00108 Y[0] = y1;
00109 Y[1] = y2;
00110 lines(X,Y,2,dash_pattern,user_pattern, width,color, RGB);
00111 }
00112
00113 void GLDriverQt::lines(double* X,double* Y,long npoints, int dash_pattern,
00114 unsigned int user_pattern, double width, int color,double* RGB)
00115 {
00116 m_glWnd->makeCurrent();
00117
00118
00119
00120
00121 m_dXScale = 1.0;
00122 m_dXMin = -0.5;
00123
00124 m_dYScale = 1.0;
00125 m_dYMin = -0.5;
00126
00127 m_dZScale = 1.0;
00128 m_dZMin = -0.5;
00129
00130 SetStipple(dash_pattern,user_pattern);
00131 SetColor(color,RGB);
00132
00133 if((width*500.0) > 1.0)
00134 {glLineWidth((float)(width*500.0));}
00135 else
00136 {glLineWidth(float(1.0));}
00137
00138 glBegin(GL_LINE_STRIP);
00139 for(long i=0;i<npoints;i++)
00140 glVertex3d(NORMX(X[i]),NORMY(Y[i]),NORMZ(0.0));
00141 glEnd();
00142 glDisable(GL_LINE_STIPPLE);
00143 }
00144
00145 void GLDriverQt::point(double x,double y, char chr,const char *font,double size, int color,
00146 double *rgb)
00147 {
00148 char s[2];
00149 s[0] = chr;
00150 s[1] = '\0';
00151 double horiz_just = 0.0;
00152 double vert_just = 0.0;
00153 double rotation = 0.0;
00154
00155 plotHText(x,y, s, font, size,rotation,horiz_just,
00156 vert_just, color,rgb);
00157 };
00158 void GLDriverQt::points(double *X,double *Y,long npoints, char chr,const char* font,
00159 double size, int color,double *rgb)
00160 {
00161 char s[2];
00162 s[0] = chr;
00163 s[1] = '\0';
00164 double horiz_just = 0.0;
00165 double vert_just = 0.0;
00166 double rotation = 0.0;
00167
00168 long k;
00169 for(k = 0; k < npoints; k++)
00170 {
00171 plotHText(X[k],Y[k], s, font, size,rotation,horiz_just,
00172 vert_just, color,rgb);
00173 }
00174
00175 }
00176
00177 void GLDriverQt::text(
00178 double x,double y,const char* s,const char* font,double size,double rotation,
00179 double horiz_just,double vert_just,
00180 int color,double *rgb)
00181 {
00182 plotHText(x,y, s, font, size,rotation,horiz_just,vert_just, color,rgb);
00183 }
00184
00185
00186 void GLDriverQt::lineEx(double x1,double y1,double x2,double y2,
00187 int dash_pattern,unsigned int user_pattern, double width,int color,double *RGB)
00188 {
00189 line(x1,y1,x2,y2,dash_pattern,user_pattern,width,color,RGB);
00190 }
00191
00192 void GLDriverQt::lineEx(double x1,double y1,double z1,double x2,double y2,double z2,
00193 int dash_pattern,unsigned int user_pattern, double width,int color,double *RGB)
00194 {
00195 m_dXScale = 1.0;
00196 m_dXMin = -0.5;
00197
00198 m_dYScale = 1.0;
00199 m_dYMin = -0.5;
00200
00201 m_dZScale = 1.0;
00202 m_dZMin = -0.5;
00203
00204 SetStipple(dash_pattern,user_pattern);
00205 SetColor(color,RGB);
00206
00207 if((width*500.0) > 1.0)
00208 {glLineWidth((float)(width*500.0));}
00209 else
00210 {glLineWidth(float(1.0));}
00211
00212
00213
00214
00215
00216
00217 glBegin(GL_LINES);
00218 glVertex3d(NORMX(x1),NORMY(y1),NORMZ(z1));
00219 glVertex3d(NORMX(x2),NORMY(y2),NORMZ(z2));
00220 glEnd();
00221 glDisable(GL_LINE_STIPPLE);
00222
00223 }
00224
00225
00226 void GLDriverQt::linesEx(double* X,double* Y,long npoints, int dash_pattern,
00227 unsigned int user_pattern, double width,int color,double *RGB)
00228 {
00229 lines(X,Y,npoints,dash_pattern,user_pattern,width,color,RGB);
00230 }
00231
00232 void GLDriverQt::linesEx(double* X,double* Y,double* Z,long npoints,
00233 int dash_pattern,unsigned int user_pattern, double width,int color,
00234 double *RGB)
00235 {
00236 m_dXScale = 1.0;
00237 m_dXMin = -0.5;
00238
00239 m_dYScale = 1.0;
00240 m_dYMin = -0.5;
00241
00242 m_dZScale = 1.0;
00243 m_dZMin = -0.5;
00244
00245 SetStipple(dash_pattern,user_pattern);
00246 SetColor(color,RGB);
00247
00248
00249
00250
00251 if((width*500.0) > 1.0)
00252 {glLineWidth((float)(width*500.0));}
00253 else
00254 {glLineWidth(float(1.0));}
00255
00256
00257 glBegin(GL_LINE_STRIP);
00258 for(long i=0;i<npoints;i++)
00259 glVertex3d(NORMX(X[i]),NORMY(Y[i]),NORMZ(Z[i]));
00260 glEnd();
00261 glDisable(GL_LINE_STIPPLE);
00262 }
00263
00264 void GLDriverQt::textEx(double x,double y,double z, double nx, double ny,
00265 double nz, const char* s,const char* font, double size, double rotation,
00266 double horiz_just, double vert_just, int color,double* RGB)
00267 {
00268 plotHText(x, y,z, nx, ny, nz, s, font, size, rotation, horiz_just,
00269 vert_just, color, RGB);
00270 }
00271
00272
00273 void GLDriverQt::pointEx(double x,double y, char chr,const char* font,double size,
00274 int color,double *RGB)
00275 {
00276
00277
00278 font = 0;
00279
00280
00281 double radius = size/2;
00282 double step = (8*atan(1.0))/10;
00283 int i;
00284
00285 SetColor(color,RGB);
00286 switch(chr)
00287 {
00288 case 'X':
00289 glBegin(GL_LINES);
00290 glVertex3d(NORMX(x-radius),NORMY(y-radius),NORMZ(0.0));
00291 glVertex3d(NORMX(x+radius),NORMY(y+radius),NORMZ(0.0));
00292 glVertex3d(NORMX(x+radius),NORMY(y-radius),NORMZ(0.0));
00293 glVertex3d(NORMX(x-radius),NORMY(y+radius),NORMZ(0.0));
00294 glEnd();
00295 break;
00296 case 'O':
00297 glBegin(GL_TRIANGLE_FAN);
00298
00299 glVertex3d(NORMX(x),NORMY(y),NORMZ(0.0));
00300 for(i=0;i<=10;i++)
00301 glVertex3d(NORMX(x+(radius*cos((double)i*step)))
00302 ,NORMY(y+(radius*sin((double)i*step))),NORMZ(0.0));
00303 glEnd();
00304 break;
00305 }
00306 }
00307 void GLDriverQt::pointEx(double x,double y,double z, char chr,const char* font,
00308 double size, int color,double *RGB)
00309 {
00310
00311
00312 font = 0;
00313
00314
00315 double radius = size/2;
00316
00317
00318 SetColor(color,RGB);
00319 switch(chr)
00320 {
00321 case 'X':
00322 glBegin(GL_LINES);
00323 glVertex3d(NORMX(x-radius),NORMY(y-radius),NORMZ(z));
00324 glVertex3d(NORMX(x+radius),NORMY(y+radius),NORMZ(z));
00325 glVertex3d(NORMX(x+radius),NORMY(y-radius),NORMZ(z));
00326 glVertex3d(NORMX(x-radius),NORMY(y+radius),NORMZ(z));
00327 glVertex3d(NORMX(x-radius),NORMY(y),NORMZ(z-radius));
00328 glVertex3d(NORMX(x+radius),NORMY(y),NORMZ(z+radius));
00329 glVertex3d(NORMX(x+radius),NORMY(y),NORMZ(z-radius));
00330 glVertex3d(NORMX(x-radius),NORMY(y),NORMZ(z+radius));
00331 glVertex3d(NORMX(x),NORMY(y-radius),NORMZ(z-radius));
00332 glVertex3d(NORMX(x),NORMY(y+radius),NORMZ(z+radius));
00333 glVertex3d(NORMX(x),NORMY(y-radius),NORMZ(z-radius));
00334 glVertex3d(NORMX(x),NORMY(y+radius),NORMZ(z+radius));
00335 glEnd();
00336 break;
00337 }
00338 }
00339 void GLDriverQt::SetColor(unsigned int color,double* RGB)
00340 {
00341 switch(color)
00342 {
00343 case BLACK:
00344 glColor4d(0.0,0.0,0.0,m_dAlpha);
00345 break;
00346 case DARK_GREY:
00347 glColor4d(0.5f,0.5f,0.5f,m_dAlpha);
00348 break;
00349 case LIGHT_GREY:
00350 glColor4d(0.7f,0.7f,0.7f,m_dAlpha);
00351 break;
00352 case BLUE:
00353 glColor4d(0.0f,0.0f,1.0f,m_dAlpha);
00354 break;
00355 case LIGHT_BLUE:
00356 glColor4d(0.7f,0.7f,1.0f,m_dAlpha);
00357 break;
00358 case GREEN:
00359 glColor4d(0.0f,1.0f,0.0f,m_dAlpha);
00360 break;
00361 case LIGHT_GREEN:
00362 glColor4d(0.7f,1.0f,0.7f,m_dAlpha);
00363 break;
00364 case RED:
00365 glColor4d(1.0f,0.0f,0.0f,m_dAlpha);
00366 break;
00367 case LIGHT_RED:
00368 glColor4d(1.0f,0.7f,0.7f,m_dAlpha);
00369 break;
00370 case MAGENTA:
00371 glColor4d(1.0f,0.0f,1.0f,m_dAlpha);
00372 break;
00373 case CYAN:
00374 glColor4d(0.0f,0.5f,0.5f,m_dAlpha);
00375 break;
00376 case LIGHT_CYAN:
00377 glColor4d(0.0f,1.0f,1.0f,m_dAlpha);
00378 break;
00379 case YELLOW:
00380 glColor4d(1.0f,1.0f,0.0f,m_dAlpha);
00381 break;
00382 case USER_RGB:
00383 glColor4d(RGB[0],RGB[1],RGB[2],m_dAlpha);
00384 break;
00385 default:
00386 glColor4d(1.0f,1.0f,1.0f,m_dAlpha);
00387 }
00388 }
00389
00390 void GLDriverQt::SetStipple(unsigned int stipple,unsigned int user_pattern)
00391 {
00392
00393
00394 user_pattern = 0;
00395
00396
00397 if(stipple == SOLID)
00398 {
00399 glDisable(GL_LINE_STIPPLE);
00400 } else {
00401 glEnable(GL_LINE_STIPPLE);
00402 switch(stipple)
00403 {
00404 case DASH:
00405 glLineStipple(1,0x00FF);
00406 break;
00407 case DOUBLE_DASH:
00408 break;
00409 case DASH_DOT:
00410 glLineStipple(1,0xFF01);
00411 break;
00412 case DASH_DOUBLE_DOT:
00413 glLineStipple(1,0xAAFF);
00414 break;
00415 case DOTS:
00416 glLineStipple(1,0xAAAA);
00417 break;
00418 case USER_DASH:
00419 break;
00420 }
00421 }
00422 }
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521 struct HersheyFontGlyphs
00522 {
00523 const char *name;
00524 char* glyphs[127];
00525 };
00526
00527
00528
00529
00530
00531
00532 #define HERSHEY_BASELINE -9.5 // relative to centerline
00533 #define HERSHEY_CAPLINE 12.5 // relative to centerline
00534 #define HERSHEY_TOPLINE 16.5 // relative to centerline
00535 #define HERSHEY_BOTTOMLINE -16.5 // relative to centerline
00536
00537 #define HERSHEY_CAPHEIGHT 22 // capline - baseline
00538 #define HERSHEY_ASCENT 26 // topline - baseline
00539 #define HERSHEY_DESCENT 7 // baseline - bottomline
00540 #define HERSHEY_HEIGHT (HERSHEY_ASCENT + HERSHEY_DESCENT)
00541
00542
00543
00544
00545 const struct HersheyFontGlyphs Hfont[] =
00546 {
00547
00548
00549
00550 {"HersheySans",
00551 {
00552 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
00553 "JZ",
00554 "MWRFRT RRYQZR[SZRY",
00555 "JZNFNM RVFVM",
00556 "G]OFOb RUFUb RJQZQ RJWZW",
00557 "H\\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX",
00558 "F^[FYGVHSHPGNFLFJGIIIKKMMMOLPJPHNF R[FI[ RYTWTUUTWTYV[X[ZZ[X[VYT",
00559 "E_\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y",
00560 "MWRHQGRFSGSIRKQL",
00561 "KYVBTDRGPKOPOTPYR]T`Vb",
00562 "KYNBPDRGTKUPUTTYR]P`Nb",
00563 "JZRLRX RMOWU RWOMU",
00564 "E_RIR[ RIR[R",
00565 "MWSZR[QZRYSZS\\R^Q_",
00566 "E_IR[R",
00567 "MWRYQZR[SZRY",
00568 "G][BIb",
00569 "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF",
00570 "H\\NJPISFS[",
00571 "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[",
00572 "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW",
00573 "H\\UFKTZT RUFU[",
00574 "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW",
00575 "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT",
00576 "H\\YFO[ RKFYF",
00577 "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF",
00578 "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX",
00579 "MWRMQNROSNRM RRYQZR[SZRY",
00580 "MWRMQNROSNRM RSZR[QZRYSZS\\R^Q_",
00581 "F^ZIJRZ[",
00582 "E_IO[O RIU[U",
00583 "F^JIZRJ[",
00584 "I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY",
00585 "DaWNVLTKQKOLNMMOMRNTOUQVTVVUWS RWKWSXUYV[V\\U]S]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYY",
00586 "I[RFJ[ RRFZ[ RMTWT",
00587 "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[",
00588 "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV",
00589 "G\\KFK[ RKFRFUGWIXKYNYSXVWXUZR[K[",
00590 "H[LFL[ RLFYF RLPTP RL[Y[",
00591 "HZLFL[ RLFYF RLPTP",
00592 "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZS RUSZS",
00593 "G]KFK[ RYFY[ RKPYP",
00594 "NVRFR[",
00595 "JZVFVVUYTZR[P[NZMYLVLT",
00596 "G\\KFK[ RYFKT RPOY[",
00597 "HYLFL[ RL[X[",
00598 "F^JFJ[ RJFR[ RZFR[ RZFZ[",
00599 "G]KFK[ RKFY[ RYFY[",
00600 "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF",
00601 "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ",
00602 "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RSWY]",
00603 "G\\KFK[ RKFTFWGXHYJYLXNWOTPKP RRPY[",
00604 "H\\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX",
00605 "JZRFR[ RKFYF",
00606 "G]KFKULXNZQ[S[VZXXYUYF",
00607 "I[JFR[ RZFR[",
00608 "F^HFM[ RRFM[ RRFW[ R\\FW[",
00609 "H\\KFY[ RYFK[",
00610 "I[JFRPR[ RZFRP",
00611 "H\\YFK[ RKFYF RK[Y[",
00612 "KYOBOb ROBVB RObVb",
00613 "G]IB[b",
00614 "KYUBUb RNBUB RNbUb",
00615 "JZPLRITL RMORJWO",
00616 "G]I][]",
00617 "MWSFRGQIQKRLSKRJ",
00618 "I\\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX",
00619 "H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX",
00620 "I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX",
00621 "I\\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX",
00622 "I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX",
00623 "MYWFUFSGRJR[ ROMVM",
00624 "I\\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX",
00625 "I\\MFM[ RMQPNRMUMWNXQX[",
00626 "NVQFRGSFREQF RRMR[",
00627 "MWRFSGTFSERF RSMS^RaPbNb",
00628 "IZMFM[ RWMMW RQSX[",
00629 "NVRFR[",
00630 "CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\\N]Q][",
00631 "I\\MMM[ RMQPNRMUMWNXQX[",
00632 "I\\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM",
00633 "H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX",
00634 "I\\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX",
00635 "KXOMO[ ROSPPRNTMWM",
00636 "J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX",
00637 "MYRFRWSZU[W[ ROMVM",
00638 "I\\MMMWNZP[S[UZXW RXMX[",
00639 "JZLMR[ RXMR[",
00640 "G]JMN[ RRMN[ RRMV[ RZMV[",
00641 "J[MMX[ RXMM[",
00642 "JZLMR[ RXMR[P_NaLbKb",
00643 "J[XMM[ RMMXM RM[X[",
00644 "KYTBQEPHPJQMSOSPORSTSUQWPZP\\Q_Tb",
00645 "NVRBRb",
00646 "KYPBSETHTJSMQOQPURQTQUSWTZT\\S_Pb",
00647 "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O"
00648 }
00649 },
00650
00651
00652
00653 {"HersheySansSymbol",
00654 {
00655 "", "F_JMILIJJHLGNGPHQIRKSP RIJKHMHOIPJQLRPR[ R[M\\L\\J[HYGWGUHTISKRP R\\JZHXHVIUJTLSPS[", "F^IGJKKMMOPPTPWOYMZK[G RIGJJKLMNPOTOWNYLZJ[G RPONPMQLSLVMXOZQ[S[UZWXXVXSWQVPTO RPPNQMSMVNY RVYWVWSVQTP", "F^MJMV RNKNU RVKVU RWJWV RIGKIMJPKTKWJYI[G RIYKWMVPUTUWVYW[Y", "F^[ILIJJILINJPLQNQPPQNQLPJ[J RIMJOKPMQ RQMPKOJMI RIXXXZW[U[SZQXPVPTQSSSUTWIW R[TZRYQWP RSTTVUWWX", "F]OUMTLTJUIWIXJZL[M[OZPXPWOUJPINIKJILHOGSGWHYJZLZOYRVUUWUYV[X[YZZX RMSKPJNJKKILH RSGVHXJYLYOXRVU", "G_HKKHMKMV RJILLLV RMKPHRKRU ROIQLQU RRKUHWKW[ RTIVLV[ RWKZH[J\\M\\P[SZUXWUYP[ RYIZJ[M[PZSYUWWTYP[", "F^ISMSLRKOKMLJNHQGSGVHXJYMYOXRWS[S RITOTMRLOLMMJOHQG RSGUHWJXMXOWRUT[T RKXYX RKYYY", "F_GLJIMLMX RIJLMLX RMLPISLSX ROJRMRX RSLVIYLYW[Y RUJXMXXZZ]W", "G]ZIJY RZIWJQJ RXKUKQJ RZIYLYR RXKXNYR RQRJR RPSMSJR RQRQY RPSPVQY", "F^HOJKOU RJMOWRPWPZO[M[KZIXHWHUITKTMUPVRWUWXUZ RWHVIUKUMWQXTXWWYUZ", "F^IOLLPN RKMOORLUN RQMTOWLYN RVMXO[L RIULRPT RKSOURRUT RQSTUWRYT RVSXU[R", "F^JHNJPLQOQRPUNWJY RJHMIOJQLRO RRRQUOWMXJY RZHWIUJSLRO RRRSUUWWXZY RZHVJTLSOSRTUVWZY RIP[P RIQ[Q", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
00656 "JZ",
00657 "MWRFRT RRYQZR[SZRY",
00658 "I[KFR[YF RMLWL",
00659 "G]OFOb RUFUb RJQZQ RJWZW",
00660 "I\\XFX[ RKFXF RPPXP RK[X[",
00661 "F^[FYGVHSHPGNFLFJGIIIKKMMMOLPJPHNF R[FI[ RYTWTUUTWTYV[X[ZZ[X[VYT",
00662 "E_\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y",
00663 "F^JJQJUKWLYNZQZSYVWXUYQZJZ RORZR",
00664 "KYVBTDRGPKOPOTPYR]T`Vb",
00665 "KYNBPDRGTKUPUTTYR]P`Nb",
00666 "JZRLRX RMOWU RWOMU",
00667 "E_RIR[ RIR[R",
00668 "MWSZR[QZRYSZS\\R^Q_",
00669 "E_IR[R",
00670 "MWRYQZR[SZRY",
00671 "G][BIb",
00672 "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF",
00673 "H\\NJPISFS[",
00674 "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[",
00675 "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW",
00676 "H\\UFKTZT RUFU[",
00677 "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW",
00678 "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT",
00679 "H\\YFO[ RKFYF",
00680 "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF",
00681 "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX",
00682 "MWRMQNROSNRM RRYQZR[SZRY",
00683 "MWRMQNROSNRM RSZR[QZRYSZS\\R^Q_",
00684 "F^ZIJRZ[",
00685 "E_IO[O RIU[U",
00686 "F^JIZRJ[",
00687 "I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY",
00688 "F^ISJQLPNPPQTTVUXUZT[Q RISJPLONOPPTSVTXTZS[Q RIW[W RI[[[",
00689 "I[RFJ[ RRFZ[ RMTWT",
00690 "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[",
00691 "H\\KFY[ RK[YF",
00692 "I[RFJ[ RRFZ[ RJ[Z[",
00693 "H[LFL[ RLFYF RLPTP RL[Y[",
00694 "H\\RFR[ RPKMLLMKOKRLTMUPVTVWUXTYRYOXMWLTKPK",
00695 "HYLFL[ RLFXF",
00696 "G]KFK[ RYFY[ RKPYP",
00697 "NVRFR[",
00698 "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF ROPUP",
00699 "G\\KFK[ RYFKT RPOY[",
00700 "I[RFJ[ RRFZ[",
00701 "F^JFJ[ RJFR[ RZFR[ RZFZ[",
00702 "G]KFK[ RKFY[ RYFY[",
00703 "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF",
00704 "G]KFK[ RYFY[ RKFYF",
00705 "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF ROPUP",
00706 "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ",
00707 "I[KFRPK[ RKFYF RK[Y[",
00708 "JZRFR[ RKFYF",
00709 "I[JFRPR[ RZFRP",
00710 "I[XOWNTMQMNNMOLQLSMUOWSZT\\T^S_Q_",
00711 "H\\K[O[LTKPKLLINGQFSFVGXIYLYPXTU[Y[",
00712 "I[KFYF ROPUP RK[Y[",
00713 "G]RFR[ RILJLKMLQMSNTQUSUVTWSXQYMZL[L",
00714 "H\\YFK[ RKFYF RK[Y[",
00715 "KYOBOb ROBVB RObVb",
00716 "E_RIQJRKSJRI RIYHZI[JZIY R[YZZ[[\\Z[Y",
00717 "KYUBUb RNBUB RNbUb",
00718 "F^RBR[ RI[[[",
00719 "G]I][]",
00720 "E[f:~:",
00721 "H]QMONMPLRKUKXLZN[P[RZUWWTYPZM RQMSMTNUPWXXZY[Z[",
00722 "I\\UFSGQIOMNPMTLZKb RUFWFYHYKXMWNUORO RROTPVRWTWWVYUZS[Q[OZNYMV",
00723 "I[KMMMOOU`WbYb RZMYOWRM]K`Jb",
00724 "I[TMQMONMPLSLVMYNZP[R[TZVXWUWRVOTMRKQIQGRFTFVGXI",
00725 "JZWOVNTMQMONOPPRSS RSSOTMVMXNZP[S[UZWX",
00726 "H\\VFNb RQMNNLPKSKVLXNZQ[S[VZXXYUYRXPVNSMQM",
00727 "I\\JPLNNMOMQNROSRSVR[ RZMYPXRR[P_Ob",
00728 "H\\IQJOLMNMONOPNTL[ RNTPPRNTMVMXOXRWWTb",
00729 "LWRMPTOXOZP[R[TYUW",
00730 "G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb",
00731 "I[OMK[ RYNXMWMUNQROSNS RNSPTQUSZT[U[VZ",
00732 "JZKFMFOGPHX[ RRML[",
00733 "H]OMIb RNQMVMYO[Q[SZUXWT RYMWTVXVZW[Y[[Y\\W",
00734 "I[LMOMNSMXL[ RYMXPWRUURXOZL[",
00735 "J[RMPNNPMSMVNYOZQ[S[UZWXXUXRWOVNTMRM",
00736 "G]PML[ RUMVSWXX[ RIPKNNM[M",
00737 "J[TFRGPJOLNOMTMXNZO[Q[SZUWVUWRXMXIWGVFTF RNPWP",
00738 "I[MSMVNYOZQ[S[UZWXXUXRWOVNTMRMPNNPMSIb",
00739 "I][MQMONMPLSLVMYNZP[R[TZVXWUWRVOUNSM",
00740 "H\\SMP[ RJPLNOMZM",
00741 "H\\IQJOLMNMONOPMVMYO[Q[TZVXXTYPYM",
00742 "F]NMLNJQITIWJZK[M[OZQW RRSQWRZS[U[WZYWZTZQYNXM",
00743 "F]NMLNJQITIWJZK[M[OZQW RRSQWRZS[U[WZYWZTZQYNXM",
00744 "JZTFRGQHQIRJUKXK RUKRLPMOOOQQSTTVT RTTPUNVMXMZO\\S^T_TaRbPb",
00745 "F]VFNb RGQHOJMLMMNMPLULXMZO[Q[TZVXXUZP[M",
00746 "JYTFRGQHQIRJUKXK RXKTMQONRMUMWNYP[S]T_TaSbQbP`",
00747 "KYTBQEPHPJQMSOSPORSTSUQWPZP\\Q_Tb",
00748 "NVRBRb",
00749 "KYPBSETHTJSMQOQPURQTQUSWTZT\\S_Pb",
00750 "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O"
00751 }
00752 },
00753
00754
00755
00756 {"HersheySerif",
00757 {
00758 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
00759 "JZ",
00760 "MWRFQHRTSHRF RRHRN RRYQZR[SZRY",
00761 "JZNFMM ROFMM RVFUM RWFUM",
00762 "G]OFOb RUFUb RJQZQ RJWZW",
00763 "H\\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[P[MZKXKWLVMWLX",
00764 "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT",
00765 "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[",
00766 "MWRHQGRFSGSIRKQL",
00767 "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`",
00768 "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`",
00769 "JZRFRR RMIWO RWIMO",
00770 "E_RIR[ RIR[R",
00771 "MWR[QZRYSZS\\R^Q_",
00772 "E_IR[R",
00773 "MWRYQZR[SZRY",
00774 "G][BIb",
00775 "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF",
00776 "H\\NJPISFS[ RRGR[ RN[W[",
00777 "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV",
00778 "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[",
00779 "H\\THT[ RUFU[ RUFJUZU RQ[X[",
00780 "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF",
00781 "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN",
00782 "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[",
00783 "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO",
00784 "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[",
00785 "MWRMQNROSNRM RRYQZR[SZRY",
00786 "MWRMQNROSNRM RR[QZRYSZS\\R^Q_",
00787 "F^ZIJRZ[",
00788 "E_IO[O RIU[U",
00789 "F^JIZRJ[",
00790 "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY",
00791 "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV",
00792 "H\\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[",
00793 "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[",
00794 "G\\XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ[",
00795 "G]LFL[ RMFM[ RIFSFVGXIYKZNZSYVXXVZS[I[ RSFUGWIXKYNYSXVWXUZS[",
00796 "G\\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[",
00797 "G[LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[P[",
00798 "G^XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXX RQFOGMILKKNKSLVMXOZQ[ RXSX[ RYSY[ RUS\\S",
00799 "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RLPXP RH[O[ RU[\\[",
00800 "MXRFR[ RSFS[ ROFVF RO[V[",
00801 "KZUFUWTZR[P[NZMXMVNUOVNW RTFTWSZR[ RQFXF",
00802 "F\\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[",
00803 "I[NFN[ ROFO[ RKFRF RK[Z[ZUY[",
00804 "F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][",
00805 "G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\\F RI[O[",
00806 "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF",
00807 "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[",
00808 "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF RNYNXOVQURUTVUXV_W`Y`Z^Z] RUXV\\W^X_Y_Z^",
00809 "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUPMP RUFWGXHYJYLXNWOUP RI[P[ RRPTQURXYYZZZ[Y RTQUSWZX[Z[[Y[X",
00810 "H\\XIYFYLXIVGSFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[Q[NZLXKUK[LX",
00811 "I\\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[",
00812 "F^KFKULXNZQ[S[VZXXYUYF RLFLUMXOZQ[ RHFOF RVF\\F",
00813 "H\\KFR[ RLFRX RYFR[ RIFOF RUF[F",
00814 "F^JFN[ RKFNV RRFN[ RRFV[ RSFVV RZFV[ RGFNF RWF]F",
00815 "H\\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[",
00816 "H]KFRQR[ RLFSQS[ RZFSQ RIFOF RVF\\F RO[V[",
00817 "H\\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[",
00818 "KYOBOb RPBPb ROBVB RObVb",
00819 "G]IB[b",
00820 "KYTBTb RUBUb RNBUB RNbUb",
00821 "JZPLRITL RMORJWO",
00822 "G]I][]",
00823 "MWSFRGQIQKRLSKRJ",
00824 "I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX RPSNTMVMXNZP[",
00825 "G\\LFL[ RMFM[ RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIFMF",
00826 "H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ[",
00827 "H]WFW[ RXFX[ RWPUNSMQMNNLPKSKULXNZQ[S[UZWX RQMONMPLSLUMXOZQ[ RTFXF RW[[[",
00828 "H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ[",
00829 "KXUGTHUIVHVGUFSFQGPIP[ RSFRGQIQ[ RMMUM RM[T[",
00830 "I\\QMONNOMQMSNUOVQWSWUVVUWSWQVOUNSMQM RONNPNTOV RUVVTVPUN RVOWNYMYNWN RNUMVLXLYM[P\\U\\X]Y^ RLYMZP[U[X\\Y^Y_XaUbObLaK_K^L\\O[",
00831 "G]LFL[ RMFM[ RMPONRMTMWNXPX[ RTMVNWPW[ RIFMF RI[P[ RT[[[",
00832 "MXRFQGRHSGRF RRMR[ RSMS[ ROMSM RO[V[",
00833 "MXSFRGSHTGSF RTMT_SaQbObNaN`O_P`Oa RSMS_RaQb RPMTM",
00834 "G\\LFL[ RMFM[ RWMMW RRSX[ RQSW[ RIFMF RTMZM RI[P[ RT[Z[",
00835 "MXRFR[ RSFS[ ROFSF RO[V[",
00836 "BcGMG[ RHMH[ RHPJNMMOMRNSPS[ ROMQNRPR[ RSPUNXMZM]N^P^[ RZM\\N]P][ RDMHM RD[K[ RO[V[ RZ[a[",
00837 "G]LML[ RMMM[ RMPONRMTMWNXPX[ RTMVNWPW[ RIMMM RI[P[ RT[[[",
00838 "H\\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM",
00839 "G\\LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIMMM RIbPb",
00840 "H\\WMWb RXMXb RWPUNSMQMNNLPKSKULXNZQ[S[UZWX RQMONMPLSLUMXOZQ[ RTb[b",
00841 "IZNMN[ ROMO[ ROSPPRNTMWMXNXOWPVOWN RKMOM RK[R[",
00842 "J[WOXMXQWOVNTMPMNNMOMQNRPSUUWVXW RMPNQPRUTWUXVXYWZU[Q[OZNYMWM[NY",
00843 "KZPFPWQZS[U[WZXX RQFQWRZS[ RMMUM",
00844 "G]LMLXMZP[R[UZWX RMMMXNZP[ RWMW[ RXMX[ RIMMM RTMXM RW[[[",
00845 "I[LMR[ RMMRY RXMR[ RJMPM RTMZM",
00846 "F^JMN[ RKMNX RRMN[ RRMV[ RSMVX RZMV[ RGMNM RWM]M",
00847 "H\\LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z[",
00848 "H[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM",
00849 "I[WML[ RXMM[ RMMLQLMXM RL[X[XWW[",
00850 "JYTBQEPHPJQMSOSPORSTSUQWPZP\\Q_Tb RRDQGQKRN RRVQYQ]R`",
00851 "NVRBRb",
00852 "KZPBSETHTJSMQOQPURQTQUSWTZT\\S_Pb RRDSGSKRN RRVSYS]R`",
00853 "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O"
00854 }
00855 },
00856
00857
00858
00859 {"HersheySerif-Italic",
00860 {
00861 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
00862 "JZ",
00863 "MWRFQHRTSHRF RRHRN RRYQZR[SZRY",
00864 "JZNFMM ROFMM RVFUM RWFUM",
00865 "G]OFOb RUFUb RJQZQ RJWZW",
00866 "H\\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[P[MZKXKWLVMWLX",
00867 "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT",
00868 "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[",
00869 "MWRHQGRFSGSIRKQL",
00870 "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`",
00871 "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`",
00872 "JZRFRR RMIWO RWIMO",
00873 "E_RIR[ RIR[R",
00874 "MWR[QZRYSZS\\R^Q_",
00875 "E_IR[R",
00876 "MWRYQZR[SZRY",
00877 "G]_BEb",
00878 "H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ RQ[SZUXWUXRYNYKXHVF",
00879 "H]TJO[ RVFP[ RVFSIPKNL RUIQKNL",
00880 "H]OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMXRZUZWYXW RMXR[U[WZXW",
00881 "H]OJPKOLNKNJOHPGSFVFYGZIZKYMVOSP RVFXGYIYKXMVO RQPSPVQWRXTXWWYVZS[O[LZKYJWJVKULVKW RSPUQVRWTWWVYUZS[",
00882 "H]XGR[ RYFS[ RYFJUZU",
00883 "H]QFLP RQF[F RQGVG[F RLPMOPNSNVOWPXRXUWXUZR[O[LZKYJWJVKULVKW RSNUOVPWRWUVXTZR[",
00884 "H]YIXJYKZJZIYGWFTFQGOIMLLOKSKWLYMZO[R[UZWXXVXSWQVPTOQOOPMRLT RTFRGPINLMOLSLXMZ RR[TZVXWVWRVP",
00885 "H]NFLL R[FZIXLSRQUPWO[ RXLRRPUOWN[ RMIPFRFWI RNHPGRGWIYIZH[F",
00886 "H]SFPGOHNJNMOOQPTPXOYNZLZIYGVFSF RSFQGPHOJOMPOQP RTPWOXNYLYIXGVF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RQPNQLSKUKXLZN[ RR[UZVYWWWSVQ",
00887 "H]YMXOVQTRQROQNPMNMKNIPGSFVFXGYHZJZNYRXUVXTZQ[N[LZKXKWLVMWLX ROQNONKOIQGSF RXGYIYNXRWUUXSZQ[",
00888 "MWRMQNROSNRM RRYQZR[SZRY",
00889 "MWRMQNROSNRM RR[QZRYSZS\\R^Q_",
00890 "F^ZIJRZ[",
00891 "E_IO[O RIU[U",
00892 "F^JIZRJ[",
00893 "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY",
00894 "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV",
00895 "H\\UFH[ RUFV[ RTHU[ RLUUU RF[L[ RR[X[",
00896 "F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVP RWFYGZIZKYNXOVP RMPVPXQYSYUXXVZR[F[ RVPWQXSXUWXUZR[",
00897 "H]ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[S[UZWXXV RTFRGPINLMOLSLVMYNZP[",
00898 "F]OFI[ RPFJ[ RLFUFXGYHZKZOYSWWUYSZO[F[ RUFWGXHYKYOXSVWTYRZO[",
00899 "F]OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[U[WVT[",
00900 "F\\OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[M[",
00901 "H^ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[R[UZWXYT RTFRGPINLMOLSLVMYNZP[ RR[TZVXXT RUT\\T",
00902 "E_NFH[ ROFI[ R[FU[ R\\FV[ RKFRF RXF_F RLPXP RE[L[ RR[Y[",
00903 "LYUFO[ RVFP[ RRFYF RL[S[",
00904 "I[XFSWRYQZO[M[KZJXJVKULVKW RWFRWQYO[ RTF[F",
00905 "F]OFI[ RPFJ[ R]FLS RSOW[ RROV[ RLFSF RYF_F RF[M[ RS[Y[",
00906 "H\\QFK[ RRFL[ RNFUF RH[W[YUV[",
00907 "E`NFH[ RNFO[ ROFPY R\\FO[ R\\FV[ R]FW[ RKFOF R\\F`F RE[K[ RS[Z[",
00908 "F_OFI[ ROFVX ROIV[ R\\FV[ RLFOF RYF_F RF[L[",
00909 "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ RQ[SZUXWUXRYNYKXHVF",
00910 "F]OFI[ RPFJ[ RLFXF[G\\I\\K[NYPUQMQ RXFZG[I[KZNXPUQ RF[M[",
00911 "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ RQ[SZUXWUXRYNYKXHVF RLYLXMVOUPURVSXS_T`V`W^W] RSXT^U_V_W^",
00912 "F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVPMP RWFYGZIZKYNXOVP RRPTQURVZW[Y[ZYZX RURWYXZYZZY RF[M[",
00913 "G^ZH[H\\F[L[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJUI[JYKY",
00914 "H]UFO[ RVFP[ ROFLLNF]F\\L\\F RL[S[",
00915 "F_NFKQJUJXKZN[R[UZWXXU\\F ROFLQKUKXLZN[ RKFRF RYF_F",
00916 "H\\NFO[ ROFPY R\\FO[ RLFRF RXF^F",
00917 "E_MFK[ RNFLY RUFK[ RUFS[ RVFTY R]FS[ RJFQF RZF`F",
00918 "G]NFU[ ROFV[ R\\FH[ RLFRF RXF^F RF[L[ RR[X[",
00919 "H]NFRPO[ ROFSPP[ R]FSP RLFRF RYF_F RL[S[",
00920 "G][FH[ R\\FI[ ROFLLNF\\F RH[V[XUU[",
00921 "KYOBOb RPBPb ROBVB RObVb",
00922 "G]IB[b",
00923 "KYTBTb RUBUb RNBUB RNbUb",
00924 "JZPLRITL RMORJWO",
00925 "G]I][]",
00926 "MWSFRGQIQKRLSKRJ",
00927 "H]XMVTUXUZV[Y[[Y\\W RYMWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ",
00928 "H[PFLSLVMYNZ RQFMS RMSNPPNRMTMVNWOXQXTWWUZR[P[NZMWMS RVNWPWTVWTZR[ RMFQF",
00929 "I[WPWQXQXPWNUMRMONMQLTLWMYNZP[R[UZWW RRMPNNQMTMXNZ",
00930 "H]ZFVTUXUZV[Y[[Y\\W R[FWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ RWF[F",
00931 "I[MVQUTTWRXPWNUMRMONMQLTLWMYNZP[R[UZWX RRMPNNQMTMXNZ",
00932 "KZZGYHZI[H[GZFXFVGUHTJSMP[O_Na RXFVHUJTNRWQ[P^O`NaLbJbIaI`J_K`Ja ROMYM",
00933 "H\\YMU[T^RaObLbJaI`I_J^K_J` RXMT[S^QaOb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ",
00934 "H]PFJ[ RQFK[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\\W RMFQF",
00935 "LYUFTGUHVGUF RMQNOPMSMTNTQRWRZS[ RRMSNSQQWQZR[U[WYXW",
00936 "LYVFUGVHWGVF RNQOOQMTMUNUQR[Q^P`OaMbKbJaJ`K_L`Ka RSMTNTQQ[P^O`Mb",
00937 "H\\PFJ[ RQFK[ RXNWOXPYOYNXMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW RMFQF",
00938 "MYUFQTPXPZQ[T[VYWW RVFRTQXQZR[ RRFVF",
00939 "AbBQCOEMHMINIPHTF[ RGMHNHPGTE[ RHTJPLNNMPMRNSOSQP[ RPMRORQO[ RRTTPVNXMZM\\N]O]Q[W[Z\\[ RZM\\O\\QZWZZ[[^[`YaW",
00940 "F]GQHOJMMMNNNPMTK[ RLMMNMPLTJ[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\\W",
00941 "I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN",
00942 "G\\HQIOKMNMONOPNTJb RMMNNNPMTIb RNTOQQNSMUMWNXOYQYTXWVZS[Q[OZNWNT RWNXPXTWWUZS[ RFbMb",
00943 "H\\XMRb RYMSb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ RObVb",
00944 "IZJQKOMMPMQNQPPTN[ ROMPNPPOTM[ RPTRPTNVMXMYNYOXPWOXN",
00945 "J[XOXPYPYOXNUMRMONNONQORVVWW RNPOQVUWVWYVZS[P[MZLYLXMXMY",
00946 "KYTFPTOXOZP[S[UYVW RUFQTPXPZQ[ RNMWM",
00947 "F]GQHOJMMMNNNQLWLYN[ RLMMNMQKWKYLZN[P[RZTXVT RXMVTUXUZV[Y[[Y\\W RYMWTVXVZW[",
00948 "H\\IQJOLMOMPNPQNWNYP[ RNMONOQMWMYNZP[Q[TZVXXUYQYMXMYO",
00949 "C`DQEOGMJMKNKQIWIYK[ RIMJNJQHWHYIZK[M[OZQXRV RTMRVRYSZU[W[YZ[X\\V]R]M\\M]O RUMSVSYU[",
00950 "H\\KQMNOMRMSOSR RQMRORRQVPXNZL[K[JZJYKXLYKZ RQVQYR[U[WZYW RYNXOYPZOZNYMXMVNTPSRRVRYS[",
00951 "G\\HQIOKMNMONOQMWMYO[ RMMNNNQLWLYMZO[Q[SZUXWT RZMV[U^SaPbMbKaJ`J_K^L_K` RYMU[T^RaPb",
00952 "H\\YMXOVQNWLYK[ RLQMOOMRMVO RMOONRNVOXO RLYNYRZUZWY RNYR[U[WYXW",
00953 "JYTBQEPHPJQMSOSPORSTSUQWPZP\\Q_Tb RRDQGQKRN RRVQYQ]R`",
00954 "NVRBRb",
00955 "KZPBSETHTJSMQOQPURQTQUSWTZT\\S_Pb RRDSGSKRN RRVSYS]R`",
00956 "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O"
00957 }
00958 },
00959
00960
00961
00962 {"HersheySerifSymbol",
00963 {
00964 "", "F_JMILIJJHLGNGPHQIRKSP RIJKHMHOIPJQLRPR[ R[M\\L\\J[HYGWGUHTISKRP R\\JZHXHVIUJTLSPS[", "F^IGJKKMMOPPTPWOYMZK[G RIGJJKLMNPOTOWNYLZJ[G RPONPMQLSLVMXOZQ[S[UZWXXVXSWQVPTO RPPNQMSMVNY RVYWVWSVQTP", "F^MJMV RNKNU RVKVU RWJWV RIGKIMJPKTKWJYI[G RIYKWMVPUTUWVYW[Y", "F^[ILIJJILINJPLQNQPPQNQLPJ[J RIMJOKPMQ RQMPKOJMI RIXXXZW[U[SZQXPVPTQSSSUTWIW R[TZRYQWP RSTTVUWWX", "F]OUMTLTJUIWIXJZL[M[OZPXPWOUJPINIKJILHOGSGWHYJZLZOYRVUUWUYV[X[YZZX RMSKPJNJKKILH RSGVHXJYLYOXRVU", "G_HKKHMKMV RJILLLV RMKPHRKRU ROIQLQU RRKUHWKW[ RTIVLV[ RWKZH[J\\M\\P[SZUXWUYP[ RYIZJ[M[PZSYUWWTYP[", "F^ISMSLRKOKMLJNHQGSGVHXJYMYOXRWS[S RITOTMRLOLMMJOHQG RSGUHWJXMXOWRUT[T RKXYX RKYYY", "F_GLJIMLMX RIJLMLX RMLPISLSX ROJRMRX RSLVIYLYW[Y RUJXMXXZZ]W", "G]ZIJY RZIWJQJ RXKUKQJ RZIYLYR RXKXNYR RQRJR RPSMSJR RQRQY RPSPVQY", "F^HOJKOU RJMOWRPWPZO[M[KZIXHWHUITKTMUPVRWUWXUZ RWHVIUKUMWQXTXWWYUZ", "F^IOLLPN RKMOORLUN RQMTOWLYN RVMXO[L RIULRPT RKSOURRUT RQSTUWRYT RVSXU[R", "F^JHNJPLQOQRPUNWJY RJHMIOJQLRO RRRQUOWMXJY RZHWIUJSLRO RRRSUUWWXZY RZHVJTLSOSRTUVWZY RIP[P RIQ[Q", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
00965 "JZ",
00966 "MWRFQHRTSHRF RRHRN RRYQZR[SZRY",
00967 "I[KFR[YF RMLWL",
00968 "G]OFOb RUFUb RJQZQ RJWZW",
00969 "I\\XFX[ RKFXF RPPXP RK[X[",
00970 "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT",
00971 "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[",
00972 "F^JJQJUKWLYNZQZSYVWXUYQZJZ RORZR",
00973 "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`",
00974 "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`",
00975 "JZRFRR RMIWO RWIMO",
00976 "E_RIR[ RIR[R",
00977 "MWR[QZRYSZS\\R^Q_",
00978 "E_IR[R",
00979 "MWRYQZR[SZRY",
00980 "G][BIb",
00981 "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF",
00982 "H\\NJPISFS[ RRGR[ RN[W[",
00983 "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV",
00984 "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[",
00985 "H\\THT[ RUFU[ RUFJUZU RQ[X[",
00986 "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF",
00987 "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN",
00988 "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[",
00989 "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO",
00990 "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[",
00991 "MWRMQNROSNRM RRYQZR[SZRY",
00992 "MWRMQNROSNRM RR[QZRYSZS\\R^Q_",
00993 "F^ZIJRZ[",
00994 "E_IO[O RIU[U",
00995 "F^JIZRJ[",
00996 "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY",
00997 "F^ISJQLPNPPQTTVUXUZT[Q RISJPLONOPPTSVTXTZS[Q RIW[W RI[[[",
00998 "H\\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[",
00999 "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[",
01000 "H\\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[",
01001 "H\\RFJ[ RRFZ[ RRIY[ RKZYZ RJ[Z[",
01002 "G\\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[",
01003 "H]RFR[ RSFS[ RPKMLLMKOKRLTMUPVUVXUYTZRZOYMXLUKPK RPKNLMMLOLRMTNUPV RUVWUXTYRYOXMWLUK ROFVF RO[V[",
01004 "I[NFN[ ROFO[ RKFZFZLYF RK[R[",
01005 "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RLPXP RH[O[ RU[\\[",
01006 "MXRFR[ RSFS[ ROFVF RO[V[",
01007 "F]GQHOJMMMNNNPMUMXNZO[ RLMMNMPLULXMZO[Q[SZUXWUXRYMYIXGVFTFRHRJSMUPWRZT RSZUWVUWRXMXIWGVF",
01008 "F\\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[",
01009 "H\\RFK[ RRFY[ RRIX[ RI[O[ RU[[[",
01010 "F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][",
01011 "G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\\F RI[O[",
01012 "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF",
01013 "F^KFK[ RLFL[ RXFX[ RYFY[ RHF\\F RH[O[ RU[\\[",
01014 "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF ROMOT RUMUT ROPUP ROQUQ",
01015 "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[",
01016 "H]KFRPJ[ RJFQP RJFYFZLXF RKZXZ RJ[Y[ZUX[",
01017 "I\\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[",
01018 "H]KFRQR[ RLFSQS[ RZFSQ RIFOF RVF\\F RO[V[",
01019 "I[TMVNXPXOWNTMQMNNMOLQLSMUOWSZ RQMONNOMQMSNUSZT\\T^S_Q_",
01020 "G]JXK[O[MWKSJPJLKIMGPFTFWGYIZLZPYSWWU[Y[ZX RMWLTKPKLLINGPF RTFVGXIYLYPXTWW RKZNZ RVZYZ",
01021 "G]KEJJ RZEYJ RONNS RVNUS RKWJ\\ RZWY\\ RKGYG RKHYH ROPUP ROQUQ RKYYY RKZYZ",
01022 "G^RFR[ RSFS[ RIMJLLMMQNSOTQU RJLKMLQMSNTQUTUWTXSYQZM[L RTUVTWSXQYM[L\\M ROFVF RO[V[",
01023 "H\\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[",
01024 "KYOBOb RPBPb ROBVB RObVb",
01025 "E_RIQJRKSJRI RIYHZI[JZIY R[YZZ[[\\Z[Y",
01026 "KYTBTb RUBUb RNBUB RNbUb",
01027 "F^RBR[ RI[[[",
01028 "G]I][]",
01029 "E[f:~:",
01030 "G^QMNNLPKRJUJXKZN[P[RZUWWTYPZM RQMONMPLRKUKXLZN[ RQMSMUNVPXXYZZ[ RSMTNUPWXXZZ[[[",
01031 "G\\TFQGOIMMLPKTJZIb RTFRGPINMMPLTKZJb RTFVFXGYHYKXMWNTOPO RVFXHXKWMVNTO RPOTPVRWTWWVYUZR[P[NZMYLV RPOSPURVTVWUYTZR[",
01032 "I[KMMMONPPU_VaWb RMMNNOPT_UaWbYb RZMYOWRM]K`Jb",
01033 "I\\VNTMRMONMQLTLWMYNZP[R[UZWWXTXQWOSJRHRFSEUEWFYH RRMPNNQMTMXNZ RR[TZVWWTWPVNTKSISGTFVFYH",
01034 "I[XPVNTMPMNNNPPRSS RPMONOPQRSS RSSNTLVLXMZP[S[UZWX RSSOTMVMXNZP[",
01035 "G]UFOb RVFNb RQMMNKPJSJVKXMZP[S[WZYXZUZRYPWNTMQM RQMNNLPKSKVLXNZP[ RS[VZXXYUYRXPVNTM",
01036 "H\\IPKNMMOMQNROSRSVRZOb RJOLNPNRO RZMYPXRSYP^Nb RYMXPWRSY",
01037 "G]HQIOKMNMONOPNTL[ RMMNNNPMTK[ RNTPPRNTMVMXNYOYRXWUb RVMXOXRWWTb",
01038 "LXRMPTOXOZP[S[UYVW RSMQTPXPZQ[",
01039 "G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb RJWLYNZQZTYWWYU RZOXNVNTPRSPYNb",
01040 "H\\NMJ[ ROMK[ RXMYNZNYMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW",
01041 "H\\KFMFOGPHQJWXXZY[ RMFOHPJVXWZY[Z[ RRMJ[ RRMK[",
01042 "F]MMGb RNMHb RMPLVLYN[P[RZTXVU RXMUXUZV[Y[[Y\\W RYMVXVZW[",
01043 "H\\NML[ ROMNSMXL[ RYMXQVU RZMYPXRVUTWQYOZL[ RKMOM",
01044 "I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN",
01045 "G]PNL[ RPNM[ RVNV[ RVNW[ RIPKNNM[M RIPKONN[N",
01046 "I\\TFQGOJNLMOLTLXMZO[Q[TZVWWUXRYMYIXGVFTF RTFRGPJOLNOMTMXNZO[ RQ[SZUWVUWRXMXIWGVF RNPWP",
01047 "H[LVMYNZP[R[UZWWXTXQWOVNTMRMONMQLTHb RR[TZVWWTWPVN RRMPNNQMTIb",
01048 "H][MQMNNLQKTKWLYMZO[Q[TZVWWTWQVOUNSM RQMONMQLTLXMZ RQ[SZUWVTVPUN RUN[N",
01049 "H\\SNP[ RSNQ[ RJPLNOMZM RJPLOONZN",
01050 "H\\IQJOLMOMPNPPNVNYP[ RNMONOPMVMYNZP[Q[TZVXXUYRYOXMWNXOYR RXUYO",
01051 "F]JQLOONNMLNJQITIWJZK[M[OZQWRT RIWJYKZMZOYQW RQTQWRZS[U[WZYWZTZQYNXMWNYOZQ RQWRYSZUZWYYW RIPKNNM[M RIPKONN[N",
01052 "F]JQLOONNMLNJQITIWJZK[M[OZQWRT RIWJYKZMZOYQW RQTQWRZS[U[WZYWZTZQYNXMWNYOZQ RQWRYSZUZWYYW",
01053 "IZTFRGQHQIRJUKXK RUKQLOMNONQPSSTVT RUKRLPMOOOQQSST RSTOUMVLXLZN\\S^T_TaRbPb RSTPUNVMXMZO\\S^",
01054 "F]UFOb RVFNb RGQHOJMMMNNNPMUMXOZRZTYWVYS RLMMNMPLULXMZO[R[TZVXXUYS[M",
01055 "I[TFRGQHQIRJUKZKZJWKSMPOMRLULWMYP[S]T_TaSbQbPa RULQONRMUMWNYP[",
01056 "JYTBQEPHPJQMSOSPORSTSUQWPZP\\Q_Tb RRDQGQKRN RRVQYQ]R`",
01057 "NVRBRb",
01058 "KZPBSETHTJSMQOQPURQTQUSWTZT\\S_Pb RRDSGSKRN RRVSYS]R`",
01059 "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O"
01060 }
01061 }
01062 };
01063
01064
01065
01066
01067
01068 void GLDriverQt::plotHText(double x, double y, const char *s, const char *font, double size,
01069 double rotation, double horiz_just, double vert_just, int color, double *rgb)
01070 {
01071 double z = 0.0;
01072 double nx = 0.0;
01073 double ny = 0.0;
01074 double nz = 1.0;
01075 plotHText(x,y, z, nx, ny, nz,s,font, size, rotation,
01076 horiz_just, vert_just, color, rgb);
01077 }
01078
01079 void GLDriverQt::plotHText(double x, double y, double z,
01080 double nx, double ny, double nz, const char *s, const char *font, double size,
01081 double rotation, double horiz_just, double vert_just, int color, double *rgb)
01082 {
01083 long i; long j; int k;
01084 long fontIndex;
01085 long fontCount = 5;
01086
01087
01088
01089 fontIndex = 0;
01090 if(font != 0)
01091 {
01092 if(strlen(font) != 0)
01093 {
01094 for(k = 0; k < fontCount; k++)
01095 {
01096 if(strcmp(font,Hfont[k].name) == 0)
01097 fontIndex = k;
01098 }
01099 }
01100 }
01101
01102
01103
01104 double nNorm = sqrt(nx*nx + ny*ny + nz*nz);
01105 nx = nx/nNorm;
01106 ny = ny/nNorm;
01107 nz = nz/nNorm;
01108 double nNormXY = sqrt(nx*nx + ny*ny);
01109 double nxOverNormXY = nx/nNormXY;
01110 double nyOverNormXY = ny/nNormXY;
01111 double nx2ny2OverNormXY = (nx*nx + ny*ny)/nNormXY;
01112 double xRot;
01113 double yRot;
01114 double zRot;
01115
01116
01117 double textScale;
01118 double hersheyHeight;
01119 double hersheyWidth;
01120 double alpha;
01121
01122 int strLength;
01123 char* glyphCode;
01124
01125 double xCorner;
01126 double yCorner;
01127
01128 if(fabs(size) <= 1.0e-05) size = .05;
01129 textScale = size;
01130
01131
01132
01133 hersheyHeight = HERSHEY_HEIGHT;
01134
01135
01136
01137 hersheyWidth = 0;
01138 strLength = (int)strlen(s);
01139 for(i = 0; i < strLength; i++)
01140 {
01141 glyphCode = Hfont[fontIndex].glyphs[int(s[i])];
01142 hersheyWidth += double(glyphCode[1] - glyphCode[0]);
01143 }
01144
01145 alpha = textScale/hersheyHeight;
01146
01147 xCorner = (-0.5 - .5*(horiz_just))*hersheyWidth;
01148 yCorner = (-0.5 - .5*(vert_just))*hersheyHeight;
01149
01150
01151
01152 double xS, yS;
01153 double theta;
01154 double xt,xtmp;
01155 double yt,ytmp;
01156 double zt;
01157
01158 long charCount;
01159
01160 double xCharPlot[300];
01161 double yCharPlot[300];
01162 double zCharPlot[300];
01163
01164 double xInit, xFinal;
01165 double xStart, xEnd;
01166 double xWidth;
01167 int stringSize;
01168
01169 int dash_pattern = 0;
01170 unsigned user_pattern = 0;
01171 double width = 0.0;
01172
01173 strLength = (int)strlen(s);
01174
01175 xEnd = xCorner;
01176 theta = (rotation/180.0)*3.14159265359;
01177
01178 for(i = 0; i < strLength; i++)
01179 {
01180 glyphCode = Hfont[fontIndex].glyphs[int(s[i])];
01181 stringSize = (int)strlen(glyphCode);
01182
01183 if(stringSize != 0)
01184 {
01185 charCount = 0;
01186 xInit = int(glyphCode[0]) - 82;
01187 xFinal = int(glyphCode[1]) - 82;
01188 xStart = xEnd - xInit;
01189 xWidth = xFinal - xInit;
01190
01191 for(j = 1; j < stringSize/2; j++)
01192 {
01193 xS = int(glyphCode[2*j]) - 82;
01194 yS = 82 - int(glyphCode[2*j +1]);
01195
01196
01197
01198
01199 if((xS == -50)&&(yS == 0))
01200 {
01201 linesEx(xCharPlot, yCharPlot, zCharPlot,charCount, dash_pattern, user_pattern, width,
01202 color, rgb);
01203 charCount = 0;
01204 }
01205 else if (j == (stringSize/2)-1)
01206 {
01207 xtmp = alpha*double(xS) + alpha*(xStart);
01208 ytmp = alpha*double(yS) + alpha*(yCorner)
01209 - alpha*(HERSHEY_BOTTOMLINE);
01210
01211 xt = cos(theta)*xtmp - sin(theta)*ytmp;
01212 yt = sin(theta)*xtmp + cos(theta)*ytmp;
01213
01214 if(fabs(nz - 1.0) < 1.0e-5)
01215 {
01216 xCharPlot[charCount] = x + xt;
01217 yCharPlot[charCount] = y + yt;
01218 zCharPlot[charCount] = 0.0;
01219 }
01220 else
01221 {
01222
01223
01224 xRot = xt;
01225 yRot = yt*nz;
01226 zRot = yt*nx2ny2OverNormXY;
01227
01228
01229
01230 xt = -nyOverNormXY*xRot - nxOverNormXY*yRot;
01231 yt = nxOverNormXY*xRot - nyOverNormXY*yRot;
01232 zt = zRot;
01233
01234 xCharPlot[charCount] = x + xt;
01235 yCharPlot[charCount] = y + yt;
01236 zCharPlot[charCount] = z + zt;
01237 }
01238
01239 charCount++;
01240
01241 linesEx(xCharPlot, yCharPlot, zCharPlot, charCount, dash_pattern, user_pattern, width,
01242 color, rgb);
01243 charCount = 0;
01244 }
01245 else
01246 {
01247 xtmp = alpha*double(xS) + alpha*(xStart);
01248 ytmp = alpha*double(yS) + alpha*(yCorner)
01249 - alpha*(HERSHEY_BOTTOMLINE);
01250
01251 xt = cos(theta)*xtmp - sin(theta)*ytmp;
01252 yt = sin(theta)*xtmp + cos(theta)*ytmp;
01253
01254 if(fabs(nz - 1.0) < 1.0e-5)
01255 {
01256 xCharPlot[charCount] = x + xt;
01257 yCharPlot[charCount] = y + yt;
01258 zCharPlot[charCount] = 0.0;
01259 }
01260 else
01261 {
01262
01263
01264 xRot = xt;
01265 yRot = yt*nz;
01266 zRot = yt*nx2ny2OverNormXY;
01267
01268
01269
01270 xt = -nyOverNormXY*xRot - nxOverNormXY*yRot;
01271 yt = nxOverNormXY*xRot - nyOverNormXY*yRot;
01272 zt = zRot;
01273
01274 xCharPlot[charCount] = x + xt;
01275 yCharPlot[charCount] = y + yt;
01276 zCharPlot[charCount] = z + zt;
01277 }
01278
01279 charCount++;
01280 }
01281 }
01282 xEnd += xWidth;
01283 }
01284
01285 }
01286 }
01287