mirror of
				https://github.com/netwide-assembler/nasm.git
				synced 2025-10-10 00:25:06 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			546 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			546 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
| #!/usr/bin/perl
 | |
| #
 | |
| # Get the width of a PostScript string in font units
 | |
| # (1000 font units == the font point height) given a set of
 | |
| # font metrics and an encoding vector.
 | |
| #
 | |
| sub ps_width($$$) {
 | |
|     my($str, $met, $encoding) = @_;
 | |
|     my($w) = 0;
 | |
|     my($i,$c,$p);
 | |
| 
 | |
|     $l = length($str);
 | |
|     undef $p;
 | |
|     for ( $i = 0 ; $i < $l ; $i++ ) {
 | |
| 	$c = substr($str,$i,1);
 | |
| 	$w += $$met{widths}{$encoding->[ord($c)]};
 | |
| 	# The standard PostScript "show" operator doesn't do kerning.
 | |
| 	# $w += $$met{kern}{$p.$c};
 | |
| 	$p = $c;
 | |
|     }
 | |
|     
 | |
|     return $w;
 | |
| }
 | |
| 
 | |
| # OK
 | |
| 1;
 |