Terminal control/Unicode output: Difference between revisions

From Rosetta Code
Content added Content deleted
({{header|ZX Spectrum Basic}})
Line 19: Line 19:
exit 252 # Incompatible hardware
exit 252 # Incompatible hardware
fi</lang>
fi</lang>

=={{header|ZX Spectrum BASIC}}==

<lang zxbasic>10 REM There is no Unicode delta in ROM
20 REM So we first define a custom character
30 FOR l=0 TO 7
40 READ n
50 POKE USR "d"+l,n
60 NEXT l
70 REM our custom character is a user defined d
80 PRINT CHR$(147): REM this outputs our delta
9500 REM data for our custom delta
9510 DATA 0,0,8,20,34,65,127,0
</lang>



{{omit from|BASIC}}
{{omit from|BASIC}}

Revision as of 07:21, 11 September 2011

Terminal control/Unicode output is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

The task is to check that the terminal supports Unicode output, before outputting a Unicode character. If the terminal supports Unicode, then the terminal should output a Unicode delta (U+25b3). If the terminal does not support Unicode, then an appropriate error should be raised.

UNIX Shell

<lang sh>if

 awk '
    BEGIN {
      if (ENVIRON["LANG"] ~ "UTF")
        exit 0    # exit ok
      exit 255    # exit false
    }'

then

 # This terminal supports Unicode
 printf "\u25b3"    # Requires a Unicode compatible printf

else

 echo "HW65001 This program requires a Unicode compatible terminal" >&2
 exit 252    # Incompatible hardware

fi</lang>

ZX Spectrum BASIC

<lang zxbasic>10 REM There is no Unicode delta in ROM 20 REM So we first define a custom character 30 FOR l=0 TO 7 40 READ n 50 POKE USR "d"+l,n 60 NEXT l 70 REM our custom character is a user defined d 80 PRINT CHR$(147): REM this outputs our delta 9500 REM data for our custom delta 9510 DATA 0,0,8,20,34,65,127,0 </lang>