src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java
public float computeTableUnit(PercentBaseContext percentBaseContext, int contentAreaIPD) {

        int sumCols = 0;
        float factors = 0;
        float unit = 0;

        /* calculate the total width (specified absolute/percentages),
         * and work out the total number of factors to use to distribute
         * the remaining space (if any)
         */
        for (Iterator i = colWidths.iterator(); i.hasNext();) {
            Length colWidth = (Length) i.next();
            if (colWidth != null) {
                sumCols += colWidth.getValue(percentBaseContext);
                if (colWidth instanceof RelativeNumericProperty) {
                    factors += ((RelativeNumericProperty) colWidth).getTableUnits();
                } else if (colWidth instanceof TableColLength) {
                    factors += ((TableColLength) colWidth).getTableUnits();
                }
            }
        }

        /* distribute the remaining space over the accumulated
         * factors (if any)
         */
        if (factors > 0) {
            if (sumCols < contentAreaIPD) {
                unit = (contentAreaIPD - sumCols) / factors;
            } else {
                log.warn("No space remaining to distribute over columns.");
            }
        }

        return unit;
    }
/**
     * Works out the base unit for resolving proportional-column-width()
     * [p-c-w(x) = x * base_unit_ipd]
     *
     * @param percentBaseContext the percent base context for relative values
     * @param contentAreaIPD the IPD of the available content area
     * @return the computed base unit (in millipoints)
     */
Works out the base unit for resolving proportional-column-width()
[p-c-w(x) = x * base_unit_ipd]

@param percentBaseContext the percent base context for relative values
@param contentAreaIPD the IPD of the available content area
@return the computed base unit (in millipoints)
Works out the base unit for resolving proportional - column - width () [ p - c - w ( x ) = x * base_unit_ipd ] @param percentBaseContext the percent base context for relative values @param contentAreaIPD the IPD of the available content area @return the computed base unit ( in millipoints )
public float computeTableUnit(PercentBaseContext percentBaseContext, int contentAreaIPD) {
        int sumCols = 0;
        float factors = 0;
        float unit = 0;
        /* calculate the total width (specified absolute/percentages),
         * and work out the total number of factors to use to distribute
         * the remaining space (if any)
         */
        for (Iterator i = colWidths.iterator(); i.hasNext();) {
            Length colWidth = (Length) i.next();
            if (colWidth != null) {
                sumCols += colWidth.getValue(percentBaseContext);
                if (colWidth instanceof RelativeNumericProperty) {
                    factors += ((RelativeNumericProperty) colWidth).getTableUnits();
                } else if (colWidth instanceof TableColLength) {
                    factors += ((TableColLength) colWidth).getTableUnits();
                }
            }
        }
        /* distribute the remaining space over the accumulated
         * factors (if any)
         */
        if (factors > 0) {
            if (sumCols < contentAreaIPD) {
                unit = (contentAreaIPD - sumCols) / factors;
            } else {
                log.warn("No space remaining to distribute over columns.");
            }
        }
        return unit;
    }
public float computeTableUnit ( PercentBaseContext percentBaseContext , int contentAreaIPD ) { int sumCols = 0 ; float factors = 0 ; float unit = 0 ; /* calculate the total width (specified absolute/percentages),
         * and work out the total number of factors to use to distribute
         * the remaining space (if any)
         */ for ( Iterator i = colWidths . iterator ( ) ; i . hasNext ( ) ; ) { Length colWidth = ( Length ) i . next ( ) ; if ( colWidth != null ) { sumCols += colWidth . getValue ( percentBaseContext ) ; if ( colWidth instanceof RelativeNumericProperty ) { factors += ( ( RelativeNumericProperty ) colWidth ) . getTableUnits ( ) ; } else if ( colWidth instanceof TableColLength ) { factors += ( ( TableColLength ) colWidth ) . getTableUnits ( ) ; } } } /* distribute the remaining space over the accumulated
         * factors (if any)
         */ if ( factors > 0 ) { if ( sumCols < contentAreaIPD ) { unit = ( contentAreaIPD - sumCols ) / factors ; } else { log . warn ( "No space remaining to distribute over columns." ) ; } } return unit ; }
Works out the base unit for resolving proportional-column-width()
 [p-c-w(x) = x * base_unit_ipd]
Works out the base unit for resolving proportional - column - width () [ p - c - w ( x ) = x * base_unit_ipd ]