generatePathForCharacter method

Path generatePathForCharacter(
  1. dynamic cIndex
)

Converts a character into a Flutter Path you can directly draw on a Canvas

Implementation

Path generatePathForCharacter(cIndex) {
  var svgPath = generateSVGPathForCharacter(cIndex);
  var commands = svgPath.split(" ");

  Path path = Path();

  commands.forEach((command) {
    if (command.startsWith("M")) {
      var coords = command.substring(1).split(",");
      var x = double.parse(coords[0]);
      var y = double.parse(coords[1]);
      path.moveTo(x, y);
    }
    if (command.startsWith("L")) {
      var coords = command.substring(1).split(",");
      var x = double.parse(coords[0]);
      var y = double.parse(coords[1]);
      path.lineTo(x, y);
    }
    if (command.startsWith("Q")) {
      var coords = command.substring(1).split(",");
      var x1 = double.parse(coords[0]);
      var y1 = double.parse(coords[1]);
      var x2 = double.parse(coords[2]);
      var y2 = double.parse(coords[3]);
      path.quadraticBezierTo(x1, y1, x2, y2);
    }
    if (command.startsWith("z")) {
      path.close();
    }
  });

  return path;
}