Может быть, просто попробуйте этот простой скрипт:
Результат:
CREATE SEQUENCE TABLE_PK_SEQ;
CREATE OR REPLACE TRIGGER TR_SEQ_TABLE BEFORE INSERT ON TABLE FOR EACH ROW
BEGIN
SELECT TABLE_PK_SEQ.NEXTVAL
INTO :new.PK
FROM dual;
END;
Вы можете делать то, что вам нужно, с помощью Quartz 2D. В частности, свойство CGContextSetCharacterSpacing
может управлять интервалом между буквами. Я не уверен насчет кернинга.