#!/usr/bin/perl -w ############################################################################## # # A simple example using Spreadsheet::WriteExcel to display all available # Unicode characters in a font. # # reverse('©'), May 2004, John McNamara, jmcnamara@cpan.org # use strict; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new('unicode_list.xls'); my $worksheet = $workbook->add_worksheet(); # Set a Unicode font. my $uni_font = $workbook->add_format(font => 'Arial Unicode MS'); # Ascii font for labels. my $courier = $workbook->add_format(font => 'Courier New'); my $char = 0; # Loop through all 32768 UTF-16BE characters. # for my $row (0 .. 2 ** 12 -1) { for my $col (0 .. 31) { last if $char == 0xffff; if ($col % 2 == 0){ $worksheet->write_string($row, $col, sprintf('0x%04X', $char), $courier); } else { $worksheet->write_utf16be_string($row, $col, pack('n', $char++), $uni_font); } } } __END__