--- loncom/xml/lonplot.pm 2008/05/13 11:01:43 1.138 +++ loncom/xml/lonplot.pm 2008/05/19 11:49:48 1.139 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Dynamic plot # -# $Id: lonplot.pm,v 1.138 2008/05/13 11:01:43 foxr Exp $ +# $Id: lonplot.pm,v 1.139 2008/05/19 11:49:48 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -822,55 +822,59 @@ sub parse_label { my %lookup = ( # Greek alphabet: - - '(Alpha|#913)' => {'tex' => '{/Symbol A}', 'web' => "\x{391}"}, + + '(Alpha|#913)' => {'tex' => '{/Symbol A}', 'web' => "\x{391}"}, '(Beta|#914)' => {'tex' => '{/Symbol B}', 'web' => "\x{392}"}, - '(Chi|#935)' => {'tex' => '{/Symbol C}', 'web' => "\x{3A7}"}, - '(Delta|#916)' => {'tex' => '{/Symbol D}', 'web' => "\x{394}"}, - '(Epsilon|#917)' => {'tex' => '{/Symbol E}', 'web' => "\x{395}"}, - '(Phi|#934)' => {'tex' => '{/Symbol F}', 'web' => "\x{3A6}"}, - '(Gamma|#915)' => {'tex' => '{/Symbol G}', 'web' => "\x{393}"}, - '(Eta|#919)' => {'tex' => '{/Symbol H}', 'web' => "\x{397}"}, - '(Iota|#921)' => {'tex' => '{/Symbol I}', 'web' => "\x{399}"}, - '(Kappa|#922)' => {'tex' => '{/Symbol K}', 'web' => "\x{39A}"}, - '(Lambda|#923)' => {'tex' => '{/Symbol L}', 'web' => "\x{39B}"}, - '(Mu|#924)' => {'tex' => '{/Symbol M}', 'web' => "\x{39C}"}, - '(Nu|#925)' => {'tex' => '{/Symbol N}', 'web' => "\x{39D}"}, - '(Omicron|#927)' => {'tex' => '{/Symbol O}', 'web' => "\x{39F}"}, - '(Pi|#928)' => {'tex' => '{/Symbol P}', 'web' => "\x{3A0}"}, - '(Theta|#920)' => {'tex' => '{/Symbol Q}', 'web' => "\x{398}"}, - '(Rho|#929)' => {'tex' => '{/Symbol R}', 'web' => "\x{3A1}"}, - '(Sigma|#931)' => {'tex' => '{/Symbol S}', 'web' => "\x{3A3}"}, - '(Tau|#932)' => {'tex' => '{/Symbol T}', 'web' => "\x{3A4}"}, - '(Upsilon|#933)' => {'tex' => '{/Symbol U}', 'web' => "\x{3A5}"}, - '(Omega|#937)' => {'tex' => '{/Symbol W}', 'web' => "\x{3A9}"}, - '(Xi|#926)' => {'tex' => '{/Symbol X}', 'web' => "\x{39E}"}, - '(Psi|#936)' => {'tex' => '{/Symbol Y}', 'web' => "\x{3A8}"}, - '(Zeta|#918)' => {'tex' => '{/Symbol Z}', 'web' => "\x{396}"}, - '(alpha|#945)' => {'tex' => '{/Symbol a}', 'web' => "\x{3B1}"}, - '(beta|#946)' => {'tex' => '{/Symbol b}', 'web' => "\x{3B2}"}, - '(chi|#967)' => {'tex' => '{/Symbol c}', 'web' => "\x{3C7}"}, - '(delta|#948)' => {'tex' => '{/Symbol d}', 'web' => "\x{3B4}"}, - '(epsilon|#949)' => {'tex' => '{/Symbol e}', 'web' => "\x{3B5}"}, - '(phi|#966)' => {'tex' => '{/Symbol f}', 'web' => "\x{3C6}"}, - '(gamma|#947)' => {'tex' => '{/Symbol g}', 'web' => "\x{3B3}"}, - '(eta|#951)' => {'tex' => '{/Symbol h}', 'web' => "\x{3B7}"}, - '(iota|#953)' => {'tex' => '{/Symbol i}', 'web' => "\x{3B9}"}, - '(kappa|#954)' => {'tex' => '{/Symbol k}', 'web' => "\x{3BA}"}, - '(lambda|#955)' => {'tex' => '{/Symbol k}', 'web' => "\x{3BB}"}, - '(mu|#956)' => {'tex' => '{/Symbol m}', 'web' => "\x{3BC}"}, - '(nu|#957)' => {'tex' => '{/Symbol n}', 'web' => "\x{3BD}"}, - '(omicron|#959)' => {'tex' => '{/Symbol o}', 'web' => "\x{3BF}"}, - '(pi|#960)' => {'tex' => '{/Symbol p}', 'web' => "\x{3C0}"}, - '(theta|#952)' => {'tex' => '{/Symbol q}', 'web' => "\x{3B8}"}, - '(rho|#961)' => {'tex' => '{/Symbol r}', 'web' => "\x{3C1}"}, - '(sigma|#963)' => {'tex' => '{/Symbol s}', 'web' => "\x{3C3}"}, - '(tau|#964)' => {'tex' => '{/Symbol t}', 'web' => "\x{3C4}"}, - '(upsilon|#965)' => {'tex' => '{/Symbol u}', 'web' => "\x{3C5}"}, - '(omega|#969)' => {'tex' => '{/Symbol w}', 'web' => "\x{3C9}"}, - '(xi|#958)' => {'tex' => '{/Symbol x}', 'web' => "\x{3BE}"}, - '(psi|#968)' => {'tex' => '{/Symbol y}', 'web' => "\x{3C8}"}, - '(zeta|#950)' => {'tex' => '{/Symbol z}', 'web' => "\x{3B6}"}, + '(Chi|#935)' => {'tex' => '{/Symbol C}', 'web' => "\x{3A7}"}, + '(Delta|#916)' => {'tex' => '{/Symbol D}', 'web' => "\x{394}"}, + '(Epsilon|#917)' => {'tex' => '{/Symbol E}', 'web' => "\x{395}"}, + '(Phi|#934)' => {'tex' => '{/Symbol F}', 'web' => "\x{3A6}"}, + '(Gamma|#915)' => {'tex' => '{/Symbol G}', 'web' => "\x{393}"}, + '(Eta|#919)' => {'tex' => '{/Symbol H}', 'web' => "\x{397}"}, + '(Iota|#921)' => {'tex' => '{/Symbol I}', 'web' => "\x{399}"}, + '(Kappa|#922)' => {'tex' => '{/Symbol K}', 'web' => "\x{39A}"}, + '(Lambda|#923)' => {'tex' => '{/Symbol L}', 'web' => "\x{39B}"}, + '(Mu|#924)' => {'tex' => '{/Symbol M}', 'web' => "\x{39C}"}, + '(Nu|#925)' => {'tex' => '{/Symbol N}', 'web' => "\x{39D}"}, + '(Omicron|#927)' => {'tex' => '{/Symbol O}', 'web' => "\x{39F}"}, + '(Pi|#928)' => {'tex' => '{/Symbol P}', 'web' => "\x{3A0}"}, + '(Theta|#920)' => {'tex' => '{/Symbol Q}', 'web' => "\x{398}"}, + '(Rho|#929)' => {'tex' => '{/Symbol R}', 'web' => "\x{3A1}"}, + '(Sigma|#931)' => {'tex' => '{/Symbol S}', 'web' => "\x{3A3}"}, + '(Tau|#932)' => {'tex' => '{/Symbol T}', 'web' => "\x{3A4}"}, + '(Upsilon|#933)' => {'tex' => '{/Symbol U}', 'web' => "\x{3A5}"}, + '(Omega|#937)' => {'tex' => '{/Symbol W}', 'web' => "\x{3A9}"}, + '(Xi|#926)' => {'tex' => '{/Symbol X}', 'web' => "\x{39E}"}, + '(Psi|#936)' => {'tex' => '{/Symbol Y}', 'web' => "\x{3A8}"}, + '(Zeta|#918)' => {'tex' => '{/Symbol Z}', 'web' => "\x{396}"}, + '(alpha|#945)' => {'tex' => '{/Symbol a}', 'web' => "\x{3B1}"}, + '(beta|#946)' => {'tex' => '{/Symbol b}', 'web' => "\x{3B2}"}, + '(chi|#967)' => {'tex' => '{/Symbol c}', 'web' => "\x{3C7}"}, + '(delta|#948)' => {'tex' => '{/Symbol d}', 'web' => "\x{3B4}"}, + '(epsilon|#949)' => {'tex' => '{/Symbol e}', 'web' => "\x{3B5}"}, + '(phi|#966)' => {'tex' => '{/Symbol f}', 'web' => "\x{3C6}"}, + '(gamma|#947)' => {'tex' => '{/Symbol g}', 'web' => "\x{3B3}"}, + '(eta|#951)' => {'tex' => '{/Symbol h}', 'web' => "\x{3B7}"}, + '(iota|#953)' => {'tex' => '{/Symbol i}', 'web' => "\x{3B9}"}, + '(kappa|#954)' => {'tex' => '{/Symbol k}', 'web' => "\x{3BA}"}, + '(lambda|#955)' => {'tex' => '{/Symbol k}', 'web' => "\x{3BB}"}, + '(mu|#956)' => {'tex' => '{/Symbol m}', 'web' => "\x{3BC}"}, + '(nu|#957)' => {'tex' => '{/Symbol n}', 'web' => "\x{3BD}"}, + '(omicron|#959)' => {'tex' => '{/Symbol o}', 'web' => "\x{3BF}"}, + '(pi|#960)' => {'tex' => '{/Symbol p}', 'web' => "\x{3C0}"}, + '(theta|#952)' => {'tex' => '{/Symbol q}', 'web' => "\x{3B8}"}, + '(rho|#961)' => {'tex' => '{/Symbol r}', 'web' => "\x{3C1}"}, + '(sigma|#963)' => {'tex' => '{/Symbol s}', 'web' => "\x{3C3}"}, + '(tau|#964)' => {'tex' => '{/Symbol t}', 'web' => "\x{3C4}"}, + '(upsilon|#965)' => {'tex' => '{/Symbol u}', 'web' => "\x{3C5}"}, + '(omega|#969)' => {'tex' => '{/Symbol w}', 'web' => "\x{3C9}"}, + '(xi|#958)' => {'tex' => '{/Symbol x}', 'web' => "\x{3BE}"}, + '(psi|#968)' => {'tex' => '{/Symbol y}', 'web' => "\x{3C8}"}, + '(zeta|#950)' => {'tex' => '{/Symbol z}', 'web' => "\x{3B6}"}, + '(thetasym|#977)' => {'tex' => '{/Symbol \165}', 'web' => "\x{3d1}"}, + '(upsih|#978)' => {'tex' => '{/Symbol \241}', 'web' => "\x{3d2}"}, + '(piv|#982)' => {'tex' => '{/Symbol \166}', 'web' => "\x{3d6}"}, + # Punctuation: @@ -897,6 +901,9 @@ my %lookup = '#151' => {'tex' => '{/Symbol \55}', 'web' => "\x{2014}"}, # em dash '#152' => {'tex' => '~', 'web' => '~'}, '#153' => {'tex' => '{/Text \324}', 'web' => "\x{2122}"}, # trademark + + # Accented letters, and other furreign language glyphs. + '#154' => {'tex' => 's', 'web' => "\x{161}"}, # small s-caron no ps. '#155' => {'tex' => '>', 'web' => '\76'}, # > '#156' => {'tex' => '{/Text \372}', 'web' => "\x{153}"}, # oe ligature. @@ -939,7 +946,84 @@ my %lookup = '(Atilde|#195)' => {'tex' => '\303', 'web' => "\x{c3}"}, # A tilde. '(Auml|#196)' => {'tex' => '\304', 'web' => "\x{c4}"}, # A umlaut. '(Aring|#197)' => {'tex' => '\305', 'web' => "\x{c5}"}, # A ring. - 'AElig|#198)' => {'tex' => '\306', 'web' => "\x{c6}"}, # AE ligature. + '(AElig|#198)' => {'tex' => '\306', 'web' => "\x{c6}"}, # AE ligature. + '(Ccedil|#199)' => {'tex' => '\307', 'web' => "\x{c7}"}, # C cedilla + '(Egrave|#200)' => {'tex' => '\310', 'web' => "\x{c8}"}, # E Accent grave. + '(Eacute|#201)' => {'tex' => '\311', 'web' => "\x{c9}"}, # E acute accent. + '(Ecirc|#202)' => {'tex' => '\312', 'web' => "\x{ca}"}, # E Circumflex. + '(Euml|#203)' => {'tex' => '\313', 'web' => "\x{cb}"}, # E umlaut. + '(Igrave|#204)' => {'tex' => '\314', 'web' => "\x{cc}"}, # I grave accent. + '(Iacute|#205)' => {'tex' => '\315', 'web' => "\x{cd}"}, # I acute accent. + '(Icirc|#206)' => {'tex' => '\316', 'web' => "\x{ce}"}, # I circumflex. + '(Iuml|#207)' => {'tex' => '\317', 'web' => "\x{cf}"}, # I umlaut. + '(ETH|#208)' => {'tex' => '\320', 'web' => "\x{d0}"}, # Icelandic Cap eth. + '(Ntilde|#209)' => {'tex' => '\321', 'web' => "\x{d1}"}, # Ntilde (enyan). + '(Ograve|#210)' => {'tex' => '\322', 'web' => "\x{d2}"}, # O accent grave. + '(Oacute|#211)' => {'tex' => '\323', 'web' => "\x{d3}"}, # O accent acute. + '(Ocirc|#212)' => {'tex' => '\324', 'web' => "\x{d4}"}, # O circumflex. + '(Otilde|#213)' => {'tex' => '\325', 'web' => "\x{d5}"}, # O tilde. + '(Ouml|#214)' => {'tex' => '\326', 'web' => "\x{d6}"}, # O umlaut. + '(times|#215)' => {'tex' => '\327', 'web' => "\x{d7}"}, # Times symbol. + '(Oslash|#216)' => {'tex' => '\330', 'web' => "\x{d8}"}, # O slash. + '(Ugrave|#217)' => {'tex' => '\331', 'web' => "\x{d9}"}, # U accent grave. + '(Uacute|#218)' => {'tex' => '\332', 'web' => "\x{da}"}, # U accent acute. + '(Ucirc|#219)' => {'tex' => '\333', 'web' => "\x{db}"}, # U circumflex. + '(Uuml|#220)' => {'tex' => '\334', 'web' => "\x{dc}"}, # U umlaut. + '(Yacute|#221)' => {'tex' => '\335', 'web' => "\x{dd}"}, # Y accent acute. + '(THORN|#222)' => {'tex' => '\336', 'web' => "\x{de}"}, # Icelandic thorn. + '(szlig|#223)' => {'tex' => '\337', 'web' => "\x{df}"}, # German sharfes s. + '(agrave|#224)' => {'tex' => '\340', 'web' => "\x{e0}"}, # a accent grave. + '(aacute|#225)' => {'tex' => '\341', 'web' => "\x{e1}"}, # a grave. + '(acirc|#226)' => {'tex' => '\342', 'web' => "\x{e2}"}, # a circumflex. + '(atilde|#227)' => {'tex' => '\343', 'web' => "\x{e3}"}, # a tilde. + '(auml|#228)' => {'tex' => '\344', 'web' => "\x{e4}"}, # a umlaut + '(aring|#229)' => {'tex' => '\345', 'web' => "\x{e5}"}, # a ring on top. + '(aelig|#230)' => {'tex' => '\346', 'web' => "\x{e6}"}, # ae ligature. + '{ccedil|#231)' => {'tex' => '\347', 'web' => "\x{e7}"}, # C cedilla + '(egrave|#232)' => {'tex' => '\350', 'web' => "\x{e8}"}, # e accent grave. + '(eacute|#233)' => {'tex' => '\351', 'web' => "\x{e9}"}, # e accent acute. + '(ecirc|#234)' => {'tex' => '\352', 'web' => "\x{ea}" }, # e circumflex. + '(euml|#235)' => {'tex' => '\353', 'web' => "\x{eb}"}, # e umlaut. + '(igrave|#236)' => {'tex' => '\354', 'web' => "\x{ec}"}, # i grave. + '(iacute|#237}' => {'tex' => '\355', 'web' => "\x{ed}"}, # i acute. + '(icirc|#238}' => {'tex' => '\356', 'web' => "\x{ee}"}, # i circumflex. + '(iuml|#239)' => {'tex' => '\357', 'web' => "\x{ef}"}, # i umlaut. + '(eth|#240)' => {'tex' => '\360', 'web' => "\x{f0}"}, # Icelandic eth. + '(ntilde|#241)' => {'tex' => '\361', 'web' => "\x{f1}"}, # n tilde. + '(ograve|#242)' => {'tex' => '\362', 'web' => "\x{f2}"}, # o grave. + '(oacute|#243)' => {'tex' => '\363', 'web' => "\x{f3}"}, # o acute. + '(ocirc'|#244)' => {'tex' => '\364', 'web' => "\x{f4}"}, # o circumflex. + '(otilde|#245)' => {'tex' => '\365', 'web' => "\x{f5}"}, # o tilde. + '(ouml|#246)' => {'tex' => '\366', 'web' => "\x{f6}"}, # o umlaut. + '(divide|#247)' => {'tex' => '\367', 'web' => "\x{f7}"}, # division symbol + '(oslash|#248)' => {'tex' => '\370', 'web' => "\x{f8}"}, # o slashed. + '(ugrave|#249)' => {'tex' => '\371', 'web' => "\x{f9}"}, # u accent grave. + '(uacute|#250)' => {'tex' => '\372', 'web' => "\x{fa}"}, # u acute. + '(ucirc|#251)' => {'tex' => '\373', 'web' => "\x{fb}"}, # u circumflex. + '(uuml|#252)' => {'tex' => '\374', 'web' => "\x{fc}"}, # u umlaut. + '(yacute|#253)' => {'tex' => '\375', 'web' => "\x{fd}"}, # y acute accent. + '(thorn|#254)' => {'tex' => '\376', 'web' => "\x{fe}"}, # small thorn (icelandic). + '(yuml|#255)' => {'tex' => '\377', 'web' => "\x{ff}"}, # y umlaut. + + # Latin extended A entities: + + '(OElig|#338)' => {'tex' => '{/Text \352}', 'web' => "\x{152}"}, # OE ligature. + '(oelig|#339)' => {'tex' => '{/Text \372}', 'web' => "\x{153}"}, # oe ligature. + '(Scaron|#352)' => {'tex' => 'S', 'web' => "\x{160}"}, # S caron no printable. + '(scaron|#353)' => {'tex' => 's', 'web' => "\x{161}"}, # s caron no printable. + '(Yuml|#376)' => {'tex' => 'Y', 'web' => "\x{178}"}, # Y umlaut - no printable. + + # Latin extended B. + + '(fnof|#402)' => {'tex' =>'{/Symbol 246}', 'web' => "\x{192}"}, # f with little hook. + + # Standalon accents: + + '(circ|#710)' => {'tex' => '^', 'web' => '^'}, # circumflex. + '(tilde|#732)' => {'tex' => '~', 'web' => '~'}, # tilde. + + + );