Shadow - Fabric.js
HTML
<canvas id="c" width="600" height="600"></canvas>
JavaScript
var canvas = new fabric.Canvas('c');
var text = new fabric.Text("I'm underlined text", {
textDecoration: 'underline',
stroke: '#f00',
fill: '#000',
strokeWidth: 1
});
var text2 = new fabric.Text("I'm bold text", {
textDecoration: 'underline',
stroke: '#f00',
fill: '#000',
top: 50,
fontWeight: 'bold',
strokeWidth: 1
});
var text3 = new fabric.Text("I'm no fill text", {
textDecoration: 'underline',
stroke: '#f00',
fill: '#fff',
top: 100,
fontWeight: 'bold',
strokeWidth: 1
});
text3.setShadow({ color: 'rgba(10,10,0,5)' });
canvas.add(text);
canvas.add(text2);
canvas.add(text3);