Php text to svg

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Generate SVG definitions and XML using PHP

kartsims/easysvg

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Generate SVG images from SVG font easily.

The SVG data produced here is directly extracted from the font .svg file. This does not use the tag.

require 'easySVG.php'; $svg = new EasySVG(); $svg->setFont("om_telolet_om-webfont.svg", 100, '#000000'); $svg->addText("Simple text display"); $svg->addAttribute("width", "800px"); $svg->addAttribute("height", "120px"); echo $svg->asXML();
require 'easySVG.php'; $text pl-s">Simple text display\netc."; $svg = new EasySVG(); $svg->setFontSVG("om_telolet_om-webfont.svg"); $svg->setFontSize(100); $svg->setFontColor('#000000'); $svg->setLineHeight(1.2); $svg->setLetterSpacing(.1); $svg->setUseKerning(true); $svg->addText($text); // set width/height according to text list($textWidth, $textHeight) = $svg->textDimensions($text); $svg->addAttribute("width", $textWidth."px"); $svg->addAttribute("height", $textHeight."px"); echo $svg->asXML();

This will output inline SVG for you to play with. You can echo it, save it to a file or whatever.

setFont($path, $size, $color = null)

Sets the font attributes. This is a shortcut for :

$this->setFontSVG($path); $this->setFontSize($size); $this->setFontColor($color);

These 3 methods are explicit enough, I won’t go through these in here.

Use SVG font kerning pairs. Default is false .

Adds a CSS-like line-height value. A numeric value (float) where 1 is the line height defined by the font itself.

Adds a CSS-like letter-spacing value. A numeric value (float) expressed in em where 1 is the width of the m character.

addText($text, $x, $y, $attributes=array())

Add text to the SVG (will be converted to simple path)

  • $text : String UTF-8 encoded
  • $x : X position of the text (starting from left), can be center to center the text horizontally
  • $y : Y position of the text (starting from top), can be center to center the text vertically
  • $attributes (optional) : list of tag attributes

Return XML string of the whole SVG.

Add an attribute to the main SVG.

SVG data manipulation methods

You may need these to play around with SVG definitions.

Applies a translate transformation to a definition. This basically applies matrix calculation to a definition.

Applies a translate transformation to definition. This basically applies matrix calculation to a definition.

Applies a scale transformation to definition. This basically applies matrix calculation to a definition.

Returns a SVG-formatted definition of a string. This method is used by addText method.

Returns the width and height of a string. This method is also used to set the width/height of the SVG (if none specified).

Returns a SVG-formatted definition of an unicode character.

Returns the width of a character.

  • $char : Character
  • $is_unicode : Boolean that tells if the character is a unicode string or a UTF-8 character.

Add a path to the SVG data

Resets the SVG data. Used to start a new SVG without creating a new instance.

Apply a matrix to a definition. Used to apply any kind of transformations, you shouldn’t need this, but it is available so you may play with it.

MIT. Please feel free to pull, fork, and so on.

About

Generate SVG definitions and XML using PHP

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Convert text to SVG path without native dependence.

License

shrhdk/text-to-svg

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Convert text to SVG path without native dependence.

const TextToSVG = require('text-to-svg'); const textToSVG = TextToSVG.loadSync(); const attributes = fill: 'red', stroke: 'black'>; const options = x: 0, y: 0, fontSize: 72, anchor: 'top', attributes: attributes>; const svg = textToSVG.getSVG('hello', options); console.log(svg);
svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 180 72"> svg>
$ npm install --save text-to-svg 

An example for loading default font synchronously. The default font is IPA font. This method only works on Node.js.

const textToSVG = TextToSVG.loadSync(); const svg = textToSVG.getSVG('hello'); console.log(svg);

An example for loading font synchronously. This method only works on Node.js.

// Argument is file path (NOT URL) const textToSVG = TextToSVG.loadSync('/fonts/Noto-Sans.otf'); const svg = textToSVG.getSVG('hello'); console.log(svg);

An example for loading font asynchronously.

// First argument is URL on web browsers, but it is file path on Node.js. TextToSVG.load('/fonts/Noto-Sans.otf', function(err, textToSVG)  const svg = textToSVG.getSVG('hello'); console.log(svg); >);

Get the path data for d attribute of path .

Options is an optional object containing:

Оцените статью