Letter boundary offset

Use Processing Geometry Suite to do this easily.

Offset Style = Bevel

Offset Style = Round

Offset Style = Miter

Animated Code Example

Code...
import micycle.pgs.*;

PShape letter;

void setup() {
  size(1000, 1000, FX2D);
  colorMode(HSB, 1, 1, 1, 1);
  letter = createFont(PFont.list()[(int) random(PFont.list().length)], 200, true).getShape('F');
  letter = PGS_Transformation.translateTo(letter, width / 2, height / 2);
}

void draw() {
  background(20);

  PShape offsetCurves = PGS_Contour.offsetCurvesOutward(letter, PGS_Contour.OffsetStyle.ROUND, 15 + sin(frameCount*0.02f)*8, 25);

  float hue = 0;
  final float inc = 1f / offsetCurves.getChildCount();
  for (PShape offsetCurve : offsetCurves.getChildren()) {
    offsetCurve.setStroke(color((hue+frameCount*0.01f) % 1, 0.8f, 1, 1));
    offsetCurve.setStrokeWeight(3);
    hue += inc;
  }

  shape(offsetCurves);
}

Bonus

Applying PGS_Morphology.fieldWarp() to offset curves.

3 Likes