private void createTableProperties() {
PropertyMaker m;
PropertyMaker sub;
// border-after-precedence
m = new TableBorderPrecedence(PR_BORDER_AFTER_PRECEDENCE);
m.setInherited(false);
m.addEnum("force", getEnumProperty(EN_FORCE, "FORCE"));
addPropertyMaker("border-after-precedence", m);
// border-before-precedence
m = new TableBorderPrecedence(PR_BORDER_BEFORE_PRECEDENCE);
m.setInherited(false);
m.addEnum("force", getEnumProperty(EN_FORCE, "FORCE"));
addPropertyMaker("border-before-precedence", m);
// border-collapse
m = new EnumProperty.Maker(PR_BORDER_COLLAPSE);
m.setInherited(true);
m.setDefault("collapse");
m.addEnum("separate", getEnumProperty(EN_SEPARATE, "SEPARATE"));
m.addEnum("collapse-with-precedence", getEnumProperty(
EN_COLLAPSE_WITH_PRECEDENCE, "COLLAPSE_WITH_PRECEDENCE"));
m.addEnum("collapse", getEnumProperty(EN_COLLAPSE, "COLLAPSE"));
addPropertyMaker("border-collapse", m);
// border-end-precedence
m = new TableBorderPrecedence(PR_BORDER_END_PRECEDENCE);
m.setInherited(false);
m.addEnum("force", getEnumProperty(EN_FORCE, "FORCE"));
addPropertyMaker("border-end-precedence", m);
// border-separation
m = new LengthPairProperty.Maker(PR_BORDER_SEPARATION);
m.setInherited(true);
m.addShorthand(s_generics[PR_BORDER_SPACING]);
sub = new LengthProperty.Maker(CP_BLOCK_PROGRESSION_DIRECTION);
sub.setDefault("0pt");
sub.setByShorthand(true);
m.addSubpropMaker(sub);
sub = new LengthProperty.Maker(CP_INLINE_PROGRESSION_DIRECTION);
sub.setDefault("0pt");
sub.setByShorthand(true);
m.addSubpropMaker(sub);
addPropertyMaker("border-separation", m);
// border-start-precedence
m = new TableBorderPrecedence(PR_BORDER_START_PRECEDENCE);
m.setInherited(false);
m.addEnum("force", getEnumProperty(EN_FORCE, "FORCE"));
addPropertyMaker("border-start-precedence", m);
// caption-side