1. -- MOVIE SCRIPT
  2.  
  3. ----------------------------------------
  4. -- converts MacRoman encoded string to WinLatin1 (Windows-1252) encoded string
  5. -- (SPACE for non-existent)
  6. ----------------------------------------
  7. on mac2ansi (str)
  8.   macAnsiVec=[\
  9.   196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,\
  10.   234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,\
  11.   134,176,162,163,167,149,182,223,174,169,153,180,168, 32,198,216,\
  12.   218,177, 32, 32,165,181, 32, 32, 32, 32, 32,170,186, 32,198,216,\
  13.   191,161,172, 32,131,152, 32,171,187,133,160,192,195,213,140,156,\
  14.   150,151,147,148,145,146,215, 32,255,159, 32,128,139,155, 32, 32,\
  15.   135,183,130,132,137,194,202,193,203,200,205,206,207,204,211,212,\
  16.    32,210,218,219,217, 32,136,152,175, 32, 32,176,184, 32, 32, 32]
  17.  
  18.   out=""
  19.   l=str.length
  20.   repeat with i = 1 to l
  21.     c=str.char[i]
  22.     n=chartonum(c)
  23.     if n>127 then
  24.       put numtochar(macAnsiVec[n-127]) after out
  25.     else
  26.       put c after out
  27.     end if
  28.   end repeat
  29.   return out
  30. end
  31.  
  32. ----------------------------------------
  33. -- converts WinLatin1 (Windows-1252) encoded string to MacRoman encoded string
  34. -- (SPACE for non-existent)
  35. ----------------------------------------
  36. on ansi2mac (str)
  37.   macAnsiVec=[\
  38.   196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,\
  39.   234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,\
  40.   134,176,162,163,167,149,182,223,174,169,153,180,168, 32,198,216,\
  41.   218,177, 32, 32,165,181, 32, 32, 32, 32, 32,170,186, 32,198,216,\
  42.   191,161,172, 32,131,152, 32,171,187,133,160,192,195,213,140,156,\
  43.   150,151,147,148,145,146,215, 32,255,159, 32,128,139,155, 32, 32,\
  44.   135,183,130,132,137,194,202,193,203,200,205,206,207,204,211,212,\
  45.    32,210,218,219,217, 32,136,152,175, 32, 32,176,184, 32, 32, 32]
  46.  
  47.   out=""
  48.   l=str.length
  49.   repeat with i = 1 to l
  50.     c=str.char[i]
  51.     n=chartonum(c)
  52.     if n>127 then
  53.       pos=macAnsiVec.getPos(n)
  54.       if (pos>0) then
  55.         put numtochar(127+pos) after out
  56.       else
  57.         put " " after out
  58.       end if
  59.     else
  60.       put c after out
  61.     end if
  62.   end repeat
  63.   return out
  64. end
[raw code]