Diff for /loncom/interface/entities.pm between versions 1.4 and 1.5

version 1.4, 2008/04/01 10:45:44 version 1.5, 2008/04/09 10:24:32
Line 837  my %entities = { Line 837  my %entities = {
     8863     => '\\ensuremath\{\\boxminus\}',      8863     => '\\ensuremath\{\\boxminus\}',
     8864     => '\\ensuremath\{\\boxtimes\}',      8864     => '\\ensuremath\{\\boxtimes\}',
     8865     => '\\ensuremath\{\\boxdot\}',      8865     => '\\ensuremath\{\\boxdot\}',
           'vdash'  => '\\ensuremath\{\\vdash\}',
       8866     => '\\ensuremath\{\\vdash\}',
           'dashv'  => '\\ensuremath\{\\dashv\}',
       8867     => '\\ensuremath\{\\dashv\}',
       'perp'   => '\\ensuremath\{\\perp\}',
       8869     => '\\ensuremath\{\\perp\}',
       8871     => '\\ensuremath\{\\models\}',
       8872     => '\\ensuremath\{\\vDash\}',    
       8873     => '\\ensuremath\{\\Vdash\}',
       8874     => '\\ensuremath\{\\Vvdash\}',
       8876     => '\\ensuremath\{\\nvdash\}',
       8877     => '\\ensuremath\{\\nvDash\}',
       8878     => '\\ensuremath\{\\nVdash\}',
       8880     => '\\ensuremath\{\\prec\}',
       8881     => '\\ensuremath\{\\succ\}',
       8882     => '\\ensuremath\{\\vartriangleleft\}',
       8883     => '\\ensuremath\{\\vartriangleright\}',
       8884     => '\\ensuremath\{\\trianglelefteq\}',
       8885     => '\\ensuremath\{\\trianglerighteq\}',
       8891     => '\\ensuremath\{\\veebar\}',
       8896     => '\\ensuremath\{\\land\}',
       8897     => '\\ensuremath\{\\lor\}',
       8898     => '\\ensuremath\{\\cap\}',
       8899     => '\\ensuremath\{\\cup\}',
       8900     => '\\ensuremath\{\\diamond\}',
       'sdot'   => '\\ensuremath\{\\cdot\}',
       8901     => '\\ensuremath\{\\cdot\}',
       8902     => '\\ensuremath\{\\star\}',
       8903     => '\\ensuremath\{\\divideontimes\}',
       8904     => '\\ensuremath\{\\bowtie\}',
       8905     => '\\ensuremath\{\\ltimes\}',
       8906     => '\\ensuremath\{\\rtimes\}',
       8907     => '\\ensuremath\{\\leftthreetimes\}',
       8908     => '\\ensuremath\{\\rightthreetimes\}',
       8909     => '\\ensuremath\{\\simeq\}',
       8910     => '\\ensuremath\{\\curlyvee\}',
       8911     => '\\ensuremath\{\\curlywedge\}',
       8912     => '\\ensuremath\{\\Subset\}',
       8913     => '\\ensuremath\{\\Supset\}',
       8914     => '\\ensuremath\{\\Cap\}',
       8915     => '\\ensuremath\{\\Cup\}',
       8916     => '\\ensuremath\{\\pitchfork\}',
       8918     => '\\ensuremath\{\\lessdot\}',
       8919     => '\\ensuremath\{\\gtrdot\}',
       8920     => '\\ensuremath\{\\lll\}',
       8921     => '\\ensuremath\{\\ggg\}',
       8922     => '\\ensuremath\{\\gtreqless\}',
       8923     => '\\ensuremath\{\\lesseqgtr\}',
       8924     => '\\ensuremath\{\\eqslantless\}',
       8925     => '\\ensuremath\{\\eqslantgtr\}',
       8926     => '\\ensuremath\{\\curlyeqprec\}',
       8927     => '\\ensuremath\{\\curlyeqsucc\}',
       8928     => '\\ensuremath\{\\not\\preccurlyeq\}',
       8929     => '\\ensuremath\{\\not\\succurlyeq\}',
       8930     => '\\ensuremath\{\\not\\sqsupseteq\}',
       8931     => '\\ensuremath\{\\not\\sqsubseteq\}',
       8938     => '\\ensuremath\{\\not\\vartriangleleft\}',
       8939     => '\\ensuremath\{\\not\vartriangleright\}',
       8940     => '\\ensuremath\{\\not\trianglelefteq\}',
       8941     => '\\ensuremath\{\\not\trianglerighteq\}',
       8942     => '\\ensuremath\{\\vdots\}',
       8960     => '\\ensuremath\{\\varnothing\}',
       'lceil'  => '\\ensuremath\{\\lceil\}',
       8968     => '\\ensuremath\{\\lceil\}',
       'rceil'  => '\\ensuremath\{\\rceil\}',
       8969     => '\\ensuremath\{\\rceil\}',
       'lfloor' => '\\ensuremath\{\\lfloor\}',
       8970     => '\\ensuremath\{\\lfloor\}',
       'rfloor' => '\\ensuremath\{\\rfloor}',
       8971     => '\\ensuremath\{\\rfloor}',
       'lang'   => '\\ensuremath\{\\langle\}',
       9001     => '\\ensuremath\{\\langle\}',
       'rang'   => '\\ensuremath\{\\rangle\}',
       9002     => '\\ensuremath\{\\rangle\}',
       'loz'    => '\\ensuremath\{\\lozenge\}',
       9674     => '\\ensuremath\{\\lozenge\}',
       'spades' => '\\ensuremath\{\\spadesuit\}',
       9824     => '\\ensuremath\{\\spadesuit\}',
       9825     => '\\ensuremath\{\\heartsuit\}',
       9826     => '\\ensuremath\{\\diamondsuit\}',
       'clubs'  => '\\ensuremath\{\\clubsuit\}',
       9827     => '\\ensuremath\{\\clubsuit\}',
       'diams'  => '\\ensuremath\{\\blacklozenge\}',
       9830     => '\\ensuremath\{\\blacklozenge\}'
           
 };  };
   
Line 850  my %entities = { Line 930  my %entities = {
 #  This allows us to support, to some extent, any entity for which  #  This allows us to support, to some extent, any entity for which
 #  dvipdf can find a gylph (given that LaTeX is now UTF-8 clean).  #  dvipdf can find a gylph (given that LaTeX is now UTF-8 clean).
 #  #
   # Parameters:
   #   unicode  - The unicode for the character.  This is assumed to
   #              be a decimal value
   # Returns:
   #   The UTF-8 equiavalent of the value.
   #
 sub entity_to_utf8 {  sub entity_to_utf8 {
       my ($unicode) = @_;
   
       return pack("U", $unicode);
 }  }
   
   
Line 861  sub entity_to_utf8 { Line 950  sub entity_to_utf8 {
 #  to UTF-8 which should display as long as dvipdf can find the  #  to UTF-8 which should display as long as dvipdf can find the
 #  appropriate glyph.  #  appropriate glyph.
 #  #
   #  The entity is assumed to have already had the 
   #  &# ;  or & ; removed
   #
   # Parameters:
   #   entity    - Name of entity to convert.
   # Returns:
   #  One of the following:
   #   - Latex string that produces the entity.
   #   - UTF-8 equivalent of a numeric entity for which we don't have a latex string.
   #   - ' ' for text entities for which there's no latex equivalent.
   #
 sub entity_to_latex {  sub entity_to_latex {
       my ($entity) = @_;
   
       # Try to look up the entity (text or numeric) in the hash:
   
       my $latex = $entities{$entity};
       if ($latex) {
    return $latex;
       }
       # If the text is purely numeric we can do the UTF-8 conversion:
   
       if ($entity =~ /^\d$/) {
    return &entity_to_utf8($entity);
       }
       #  Can't do the conversion ...
   
       return " ";
   }
   
   #
   #  Convert all the entities in a string.
   #  We locate all the entities, pass them into entity_to_latex and 
   #  and replace occurences in the input string.
   #  The assumption is that there are few entities in any string/document
   #  so this looping is not too bad.  The advantage of looping vs. regexping is
   #  that we now can use lookup tables for the translation in entity_to_latex above.
   #
   # Parameters:
   #   input   - Input string/document
   # Returns
   #   input with entities replaced by latexable stuff (UTF-8 encodings or
   #   latex control strings to produce the entity.
   #
   #
   sub replace_entities {
       my ($input)  = @_;
 }  }
   

Removed from v.1.4  
changed lines
  Added in v.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>