How to change the font style of Text using FabricJS?


In this tutorial, we are going to learn about how to change the font style in Text object using FabricJS. We can display text on canvas by adding an instance of fabric.Text. Not only does it allow us to move, scale and change the dimensions of the text but it also provides additional functionality like text alignment, text decoration, line height which can be obtained by the properties textAlign, underline and lineHeight respectively. We can change the font style by using the fontStyle property.

Syntax

new fabric.Text(text: String, { fontStyle: String }: Object)

Parameters

  • text − This parameter accepts a String which is the text string that we want to display.

  • options (optional) − This parameter is an Object which provides additional customizations to our text. Using this parameter colour, cursor, border width and a lot of other properties can be changed related to the object of which fontStyle is a property.

Options Keys

  • fontStyle − This property accepts a String that allows us to control the font style of text. The possible values are “normal”, “italic” and “oblique” which are explained below −

    • normal − The text displays the normal font style. This is also the default.

    • italic − The text is displayed as cursive and slants to the right.

    • oblique − The text is displayed as the sloped version of the normal typeface. It usually looks similar to italic but an italic is a special version of the font, whereas an oblique version is just the regular version inclined a bit.

Example 1

Passing the fontStyle property as key with the value as “oblique”

Let’s see a code example to see how our text object looks like when fontStyle property is used as key with the value as “oblique”.

<!DOCTYPE html> <html> <head> <!-- Adding the Fabric JS Library--> <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script> </head> <body> <h2>Passing the fontStyle property as key with the value as “oblique”</h2> <p>You can see that the text is oblique</p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiate a text object var text = new fabric.Text("Add sample text here", { left: 50, top: 70, fontStyle: "oblique", }); // Add it to the canvas canvas.add(text); </script> </body> </html>

Example 2

Passing the fontStyle property as key with the value as “italic”

In this example, we are passing the fontStyle property as key, with a value as “italic”. This means that our text object will be rendered with text that is slanted to the right.

<!DOCTYPE html> <html> <head> <!-- Adding the Fabric JS Library--> <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script> </head> <body> <h2>Passing the fontStyle property as key with the value as “italic”</h2> <p>You can see that the text is italic</p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiate a text object var text = new fabric.Text("Add sample
text here"
, { left: 50, top: 70, fontStyle: "italic", }); // Add it to the canvas canvas.add(text); </script> </body> </html>

Updated on: 13-Sep-2022

253 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements