1251 to Unicode

 Для редактора шрифтов мне понадобилась эта процедура:

Procedure.s win2u(ch.a)
  Select ch
    Case 0 To 31
      r$="?"
    Case 32 To 127
      r$=Chr(ch)
    Case 128 To 191
      r$=Chr( PeekU( ?unitab+2*(ch-128) ) )
     Case 192 To 255: r$=Chr( ch-$c0+$410)
   EndSelect
   ProcedureReturn r$
 EndProcedure
 
 DataSection
  unitab: 
      Data.u $0402,$0403,$201A,$0453,$201E,$2026,$2020,$2021,$20AC,$2030,$0409,$2039,$040A,$040C,$040B,$040F
      Data.u $0452,$2018,$2019,$201C,$201D,$2022,$2013,$2014,$0000,$2122,$0459,$203A,$045A,$045C,$045B,$045F
      Data.u $00A0,$040E,$045E,$0408,$00A4,$0490,$00A6,$00A7,$0401,$00A9,$0404,$00AB,$00AC,$00AD,$00AE,$0407
      Data.u $00B0,$00B1,$0406,$0456,$0491,$00B5,$00B6,$00B7,$0451,$2116,$0454,$00BB,$0458,$0405,$0455,$0457

Комментарии