Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function calculateTextWidth( $text, $font ) {
- $fontSizes = [
- 'Open Sans' => [
- 'a' => 6.35, 'b' => 6.35, 'c' => 5.24, 'd' => 6.35,
- 'e' => 5.24, 'f' => 3.29, 'g' => 6.35, 'h' => 6.35,
- 'i' => 2.61, 'j' => 2.61, 'k' => 5.53, 'l' => 2.61,
- 'm' => 9.92, 'n' => 6.35, 'o' => 6.35, 'p' => 6.35,
- 'q' => 6.35, 'r' => 4.04, 's' => 5.24, 't' => 3.29,
- 'u' => 6.35, 'v' => 5.53, 'w' => 8.16, 'x' => 5.53,
- 'y' => 5.53, 'z' => 5.24, ' ' => 2.61
- ],
- 'Arial' => [
- 'a' => 6.5, 'b' => 6.5, 'c' => 5.5, 'd' => 6.5,
- 'e' => 5.5, 'f' => 4, 'g' => 6.5, 'h' => 6.5,
- 'i' => 2.5, 'j' => 2.5, 'k' => 6, 'l' => 2.5,
- 'm' => 9.5, 'n' => 6.5, 'o' => 6.5, 'p' => 6.5,
- 'q' => 6.5, 'r' => 4.5, 's' => 5, 't' => 4,
- 'u' => 6.5, 'v' => 6, 'w' => 8, 'x' => 6,
- 'y' => 6, 'z' => 5, ' ' => 2.5
- ],
- 'Roboto' => [
- 'a' => 6.5, 'b' => 6.5, 'c' => 5.5, 'd' => 6.5,
- 'e' => 5.5, 'f' => 4, 'g' => 6.5, 'h' => 6.5,
- 'i' => 2.5, 'j' => 2.5, 'k' => 6, 'l' => 2.5,
- 'm' => 9.5, 'n' => 6.5, 'o' => 6.5, 'p' => 6.5,
- 'q' => 6.5, 'r' => 4.5, 's' => 5, 't' => 4,
- 'u' => 6.5, 'v' => 6, 'w' => 8, 'x' => 6,
- 'y' => 6, 'z' => 5, ' ' => 2.5
- ]
- ];
- $width = 0;
- $text = strtolower( $text );
- for ( $i = 0; $i < strlen( $text ); $i++ ) {
- $char = $text[ $i ];
- $width += $fontSizes[ $font ][ $char ];
- }
- return $width;
- }
- // Použití funkce
- $text = 'Hello World';
- $font = 'Open Sans';
- $width = calculateTextWidth( $text, $font );
- echo 'Šířka textu ' . $text . ' v fontu ' . $font . ' je: ' . $width . ' px';
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement