Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2014
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. {
  2. "A" : 1479
  3. "a" : 909,
  4. "B" : 1366,
  5. "b" : 1024
  6. "C" : 1366,
  7. "c" : 909,
  8. "N" : 1479,
  9. "n" : 1024,
  10. "M" : 1821,
  11. "m" : 1593,
  12. "." : 512,
  13. }
  14.  
  15. use strict;
  16. use warnings;
  17. use autodie;
  18. use Font::TTF::Font;
  19.  
  20. my $f = Font::TTF::Font->open('/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf')
  21. || die $!;
  22.  
  23. my $json = JSON::XS->new->ascii->pretty->allow_nonref;
  24.  
  25. my @chars = ( '.', '-', 'a'...'z', 'A'...'Z', 0..9 );
  26.  
  27. my %db;
  28. foreach my $char ( @chars ) {
  29. my $ord = ord($char);
  30. my $snum = $f->{'cmap'}->ms_lookup($ord);
  31. $f->{'hmtx'}->read;
  32. my $sadv = $f->{'hmtx'}{'advance'}[$snum];
  33. $db{$char} = $sadv;
  34. }
  35.  
  36. use JSON::XS qw(encode_json);
  37. print $json->encode( %db );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement