Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to change the font style of IText using FabricJS?
In this tutorial, we are going to learn about how to change the font style in IText object using FabricJS. The IText class was introduced in FabricJS version 1.4, extends fabric.Text and is used to create IText instances. An IText instance gives us the freedom to select, cut, paste or add new text without additional configurations. There are also various supported key combinations and mouse/touch combinations which make text interactive which are not provided in Text.
Textbox, however, which is based on IText allows us to resize the text rectangle and wraps lines automatically. This is not true for IText as height is not adjusted based on the wrapping of lines. We can manipulate our IText object by using various properties. Likewise, we can change the font style by using the fontStyle property.
Syntax
new fabric.IText(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 IText object. 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: Using fontStyle "oblique"
Let's see a code example to see how our IText 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 an itext object
var itext = new fabric.IText(
"Add sample text here.\nLorem ipsum dolor sit amet",{
width: 300,
left: 60,
top: 70,
fill: "#c70039",
fontStyle: "oblique",
}
);
// Add it to the canvas
canvas.add(itext);
</script>
</body>
</html>
Example 2: Using fontStyle "italic"
In this example, we are passing the fontStyle property as key, with a value as "italic". This means that our IText 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 an itext object
var itext = new fabric.IText(
"Add sample text here.\nLorem ipsum dolor sit amet",{
width: 300,
left: 60,
top: 70,
fill: "#c70039",
fontStyle: "italic",
}
);
// Add it to the canvas
canvas.add(itext);
</script>
</body>
</html>
Comparison of Font Styles
| Font Style | Description | Visual Effect |
|---|---|---|
normal |
Default font style | Upright text |
italic |
Cursive version of the font | Slanted text with special typeface |
oblique |
Sloped version of normal font | Tilted text using regular typeface |
Conclusion
The fontStyle property in FabricJS IText allows you to control text appearance with three values: normal, italic, and oblique. Use italic for elegant cursive text and oblique for simple slanted text effects.
