axsl-commit Mailing List for aXSL (Page 8)
An API for XSL-FO.
Status: Alpha
Brought to you by:
victormote
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(36) |
Apr
(36) |
May
(127) |
Jun
(193) |
Jul
(12) |
Aug
(46) |
Sep
(66) |
Oct
(28) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(39) |
Feb
(68) |
Mar
(58) |
Apr
(88) |
May
(40) |
Jun
(82) |
Jul
(213) |
Aug
(19) |
Sep
(2) |
Oct
(26) |
Nov
(2) |
Dec
|
2008 |
Jan
(5) |
Feb
(30) |
Mar
(26) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(4) |
Apr
(44) |
May
(1) |
Jun
(9) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(35) |
Jun
|
Jul
|
Aug
(48) |
Sep
(10) |
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(40) |
2017 |
Jan
(82) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(15) |
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(37) |
Mar
(28) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(27) |
2021 |
Jan
(52) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(72) |
Dec
(100) |
2022 |
Jan
(119) |
Feb
(94) |
Mar
(4) |
Apr
|
May
|
Jun
(5) |
Jul
(3) |
Aug
(2) |
Sep
|
Oct
|
Nov
(10) |
Dec
(97) |
2023 |
Jan
(52) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(17) |
Sep
(21) |
Oct
(8) |
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(11) |
Feb
(1) |
Mar
|
Apr
(27) |
May
(62) |
Jun
(27) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <vic...@us...> - 2023-08-12 12:59:29
|
Revision: 2708 http://sourceforge.net/p/axsl/code/2708 Author: victormote Date: 2023-08-12 12:59:27 +0000 (Sat, 12 Aug 2023) Log Message: ----------- Add plugin that creates a shaded jar for all aXSL content. Modified Paths: -------------- trunk/axsl/build.gradle Modified: trunk/axsl/build.gradle =================================================================== --- trunk/axsl/build.gradle 2023-08-12 12:10:39 UTC (rev 2707) +++ trunk/axsl/build.gradle 2023-08-12 12:59:27 UTC (rev 2708) @@ -4,20 +4,23 @@ Normal build checking for compile errors and test failures. 2. gradle publishToMavenLocal Builds and publishes the artifacts to the local maven repository. - 3. gradle distZip + 3. gradle shadowJar + Builds a single fat jar containing all aXSL classes, as a convenience for developers + Uses the com.github.johnrengelman.shadow plugin + 4. gradle distZip standard task in java-library-distribution configure in "distributions" Builds a zip file containing aXSL executables and all runtime dependencies. - 4. gradle allJavadoc + 5. gradle allJavadoc Builds the aggregate javadocs for all Java code in axsl. OR gradle aggregateJavadoc Builds the aggregate javadocs using the Freefair Aggregate Javadoc plugin - 5. gradle zipAllJavadoc + 6. gradle zipAllJavadoc Builds the aggregate javadocs for all Java code in axsl and puts them in a zip file. - 6. gradle validateWeb + 7. gradle validateWeb Validates the html pages for the web. - 7. gradle buildHealth + 8. gradle buildHealth Runs the dependency analysis. */ @@ -27,6 +30,7 @@ id "com.autonomousapps.dependency-analysis" version "1.0.0-rc02" id 'io.freefair.aggregate-javadoc' version "6.5.1" id 'java-library-distribution' + id 'com.github.johnrengelman.shadow' version '8.1.1' } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-08-12 12:10:40
|
Revision: 2707 http://sourceforge.net/p/axsl/code/2707 Author: victormote Date: 2023-08-12 12:10:39 +0000 (Sat, 12 Aug 2023) Log Message: ----------- Rename axsl-00-master to 00-dev. Added Paths: ----------- trunk/axsl/00-dev/ Removed Paths: ------------- trunk/axsl/axsl-00-master/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-08-12 12:07:25
|
Revision: 2706 http://sourceforge.net/p/axsl/code/2706 Author: victormote Date: 2023-08-12 12:07:20 +0000 (Sat, 12 Aug 2023) Log Message: ----------- Replace task building distribution zip with standard task in java-library-distribution. Remove axsl-00-master from gradle control. Modified Paths: -------------- trunk/axsl/build.gradle trunk/axsl/settings.gradle Modified: trunk/axsl/build.gradle =================================================================== --- trunk/axsl/build.gradle 2023-08-09 13:32:39 UTC (rev 2705) +++ trunk/axsl/build.gradle 2023-08-12 12:07:20 UTC (rev 2706) @@ -4,16 +4,20 @@ Normal build checking for compile errors and test failures. 2. gradle publishToMavenLocal Builds and publishes the artifacts to the local maven repository. - 3. gradle allJavadoc + 3. gradle distZip + standard task in java-library-distribution + configure in "distributions" + Builds a zip file containing aXSL executables and all runtime dependencies. + 4. gradle allJavadoc Builds the aggregate javadocs for all Java code in axsl. OR gradle aggregateJavadoc Builds the aggregate javadocs using the Freefair Aggregate Javadoc plugin - 3. gradle zipAllJavadoc + 5. gradle zipAllJavadoc Builds the aggregate javadocs for all Java code in axsl and puts them in a zip file. - 4. gradle validateWeb + 6. gradle validateWeb Validates the html pages for the web. - 5. gradle buildHealth + 7. gradle buildHealth Runs the dependency analysis. */ @@ -22,8 +26,35 @@ id 'java' id "com.autonomousapps.dependency-analysis" version "1.0.0-rc02" id 'io.freefair.aggregate-javadoc' version "6.5.1" + id 'java-library-distribution' } + +/* Create dependency for all aXSL projects, as this (root) project consolidates them all. */ +dependencies { + implementation (project(':axsl-areatree')) + implementation (project(':axsl-constants')) + implementation (project(':axsl-content')) + implementation (project(':axsl-context')) + implementation (project(':axsl-font')) + implementation (project(':axsl-fotree')) + implementation (project(':axsl-galley')) + implementation (project(':axsl-graphic')) + implementation (project(':axsl-i18n')) + implementation (project(':axsl-kp-model')) + implementation (project(':axsl-layout')) + implementation (project(':axsl-linebreak')) + implementation (project(':axsl-mif')) + implementation (project(':axsl-orthography')) + implementation (project(':axsl-output')) + implementation (project(':axsl-pdf')) + implementation (project(':axsl-primitive')) + implementation (project(':axsl-ps')) + implementation (project(':axsl-speech')) + implementation (project(':axsl-value')) +} + + task allJavadoc(type: Javadoc) { source subprojects.collect {project -> project.sourceSets.main.allJava } classpath = files(subprojects.collect {project -> project.sourceSets.main.compileClasspath}) @@ -110,31 +141,7 @@ } -task zipAllBin(type: Zip, dependsOn: build) { - duplicatesStrategy = DuplicatesStrategy.EXCLUDE - archiveBaseName = 'axsl-all' - archiveClassifier = 'bin' - def internalDir = "${archiveBaseName.get()}-${archiveVersion.get()}-${archiveClassifier.get()}" - from(subprojects.collect {project -> "${project.buildDir}/libs"}) { - include '*.jar' - exclude '*-javadoc.jar' - exclude '*-sources.jar' - into "${internalDir}/lib" - } - from(subprojects.collect {project -> project.sourceSets.main.compileClasspath}) { - include '*.jar' - into "${internalDir}/lib" - } - from(project.projectDir.absolutePath + "/dist") { - include '**/**' - into "${internalDir}" - } - - destinationDirectory = file("${buildDir}") -} - - task zipAllSources(type: Zip) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE archiveBaseName = 'axsl-all' @@ -148,4 +155,12 @@ destinationDirectory = file("${buildDir}") } + +distributions { + main { + distributionBaseName = 'axsl-all' + } +} + + /* Last line of script. */ Modified: trunk/axsl/settings.gradle =================================================================== --- trunk/axsl/settings.gradle 2023-08-09 13:32:39 UTC (rev 2705) +++ trunk/axsl/settings.gradle 2023-08-12 12:07:20 UTC (rev 2706) @@ -1,6 +1,5 @@ rootProject.name = 'axsl' -include 'axsl-00-master' include 'axsl-areatree' include 'axsl-constants' include 'axsl-content' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-08-09 13:32:42
|
Revision: 2705 http://sourceforge.net/p/axsl/code/2705 Author: victormote Date: 2023-08-09 13:32:39 +0000 (Wed, 09 Aug 2023) Log Message: ----------- Upgrade Gradle to 8.2.1. Modified Paths: -------------- trunk/axsl/build.gradle trunk/axsl/buildSrc/src/main/groovy/axsl.library-conventions.gradle trunk/axsl/gradle/wrapper/gradle-wrapper.jar trunk/axsl/gradle/wrapper/gradle-wrapper.properties trunk/axsl/gradlew trunk/axsl/gradlew.bat Modified: trunk/axsl/build.gradle =================================================================== --- trunk/axsl/build.gradle 2023-08-08 14:54:07 UTC (rev 2704) +++ trunk/axsl/build.gradle 2023-08-09 13:32:39 UTC (rev 2705) @@ -87,7 +87,7 @@ task zipAllJavadoc(type: Zip, dependsOn: allJavadoc) { from ("${buildDir}/docs/javadoc") archiveAppendix = "all" - classifier = "javadoc" + archiveClassifier = "javadoc" destinationDirectory = file("${buildDir}") } Modified: trunk/axsl/buildSrc/src/main/groovy/axsl.library-conventions.gradle =================================================================== --- trunk/axsl/buildSrc/src/main/groovy/axsl.library-conventions.gradle 2023-08-08 14:54:07 UTC (rev 2704) +++ trunk/axsl/buildSrc/src/main/groovy/axsl.library-conventions.gradle 2023-08-09 13:32:39 UTC (rev 2705) @@ -17,12 +17,12 @@ } task packageSources(type: Jar, dependsOn:classes) { - classifier = 'sources' + archiveClassifier = 'sources' from sourceSets.main.allSource } task packageJavadocs(type: Jar, dependsOn:javadoc) { - classifier = 'javadoc' + archiveClassifier = 'javadoc' from javadoc.destinationDir } Modified: trunk/axsl/gradle/wrapper/gradle-wrapper.jar =================================================================== (Binary files differ) Modified: trunk/axsl/gradle/wrapper/gradle-wrapper.properties =================================================================== --- trunk/axsl/gradle/wrapper/gradle-wrapper.properties 2023-08-08 14:54:07 UTC (rev 2704) +++ trunk/axsl/gradle/wrapper/gradle-wrapper.properties 2023-08-09 13:32:39 UTC (rev 2705) @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists Modified: trunk/axsl/gradlew =================================================================== --- trunk/axsl/gradlew 2023-08-08 14:54:07 UTC (rev 2704) +++ trunk/axsl/gradlew 2023-08-09 13:32:39 UTC (rev 2705) @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,11 +80,11 @@ esac done +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -143,6 +143,8 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -149,6 +151,8 @@ case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -205,6 +209,12 @@ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. Modified: trunk/axsl/gradlew.bat =================================================================== --- trunk/axsl/gradlew.bat 2023-08-08 14:54:07 UTC (rev 2704) +++ trunk/axsl/gradlew.bat 2023-08-09 13:32:39 UTC (rev 2705) @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-08-08 14:54:09
|
Revision: 2704 http://sourceforge.net/p/axsl/code/2704 Author: victormote Date: 2023-08-08 14:54:07 +0000 (Tue, 08 Aug 2023) Log Message: ----------- Add clear() method. Modified Paths: -------------- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/BooleanSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/CharSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/DoubleSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/FloatSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/IntSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/LongSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/NibbleSequenceMutable.java trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ShortSequenceMutable.java Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/BooleanSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/BooleanSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/BooleanSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -49,6 +49,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The boolean at the specified index is set to {@code newBoolean}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the boolean {@code newBoolean} at position {@code index}. Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ByteSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -50,6 +50,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The byte at the specified index is set to {@code newByte}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the short {@code newByte} at position {@code index}. Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/CharSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/CharSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/CharSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -48,6 +48,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The character at the specified index is set to {@code newChar}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the character {@code newChar} at position {@code index}. Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/DoubleSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/DoubleSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/DoubleSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -42,6 +42,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The double at the specified index is set to {@code newDouble}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the double {@code newDouble} at position {@code index}. Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/FloatSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/FloatSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/FloatSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -42,6 +42,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The float at the specified index is set to {@code newFloat}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the float {@code newFloat} at position {@code index}. Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/IntSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/IntSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/IntSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -42,6 +42,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The int at the specified index is set to {@code newInt}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the int {@code newInt} at position {@code index}. @@ -67,7 +73,7 @@ void insert(int index, int newInt); /** - * Inserts the specified element into a sorted sequence of unique elements at the appropriate location int that + * Inserts the specified element into a sorted sequence of unique elements at the appropriate location in that * sequence. * Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to * their indices). Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/LongSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/LongSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/LongSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -42,6 +42,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The long at the specified index is set to {@code newLong}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the long {@code newLong} at position {@code index}. Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/NibbleSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/NibbleSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/NibbleSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -42,6 +42,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The nibble at the specified index is set to {@code newNibble}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the nibble {@code newNibble} at position {@code index}. Modified: trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ShortSequenceMutable.java =================================================================== --- trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ShortSequenceMutable.java 2023-01-29 20:36:25 UTC (rev 2703) +++ trunk/axsl/axsl-primitive/src/main/java/org/axsl/primitive/sequence/ShortSequenceMutable.java 2023-08-08 14:54:07 UTC (rev 2704) @@ -42,6 +42,12 @@ void setLength(int newLength); /** + * Sets the new length of the sequence to zero. + * @see #setLength(int) + */ + void clear(); + + /** * The short at the specified index is set to {@code newShort}. * This sequence is altered to represent a new sequence that is identical to the old sequence, except that it * contains the short {@code newShort} at position {@code index}. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-29 20:36:29
|
Revision: 2703 http://sourceforge.net/p/axsl/code/2703 Author: victormote Date: 2023-01-29 20:36:25 +0000 (Sun, 29 Jan 2023) Log Message: ----------- Move method logic from Font to TypographicConstants, for reuse. Modified Paths: -------------- trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java Modified: trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java =================================================================== --- trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java 2023-01-27 00:15:13 UTC (rev 2702) +++ trunk/axsl/axsl-constants/src/main/java/org/axsl/constants/TypographicConstants.java 2023-01-29 20:36:25 UTC (rev 2703) @@ -74,4 +74,24 @@ / pixelDensity; } + /** + * Converts a one-dimensional value (length) expressed in glyph space units (the native value stored in the font) to + * millipoints. + * @param glyphSpaceUnits The glyph-space units to be converted. + * @param unitsPerEm The number of glyph-space units per em. + * @param fontSize The size, in millipoints, of the font. + * For a 12-point font, this value should be 12,000. + * @return The computed millipoint value of {@code glyphSpaceUnits} scaled to {@code fontSize}. + */ + public static int glyphSpaceUnitsToMillipoints(final int glyphSpaceUnits, final int unitsPerEm, + final int fontSize) { + /* proportionOfEmUsed = glyphSpaceUnits / unitsPerEm. + * actualFontSize = fontSize / 1000. + * millipoints = proportionOfEmUsed * actualFontSize * 1000. + * which simplifies to + * millipoints = glyphSpaceUnits * fontSize / unitsPerEm. */ + final float raw = glyphSpaceUnits * fontSize / (float) unitsPerEm; + return Math.round(raw); + } + } Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java =================================================================== --- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-27 00:15:13 UTC (rev 2702) +++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-29 20:36:25 UTC (rev 2703) @@ -23,6 +23,7 @@ package org.axsl.font; +import org.axsl.constants.TypographicConstants; import org.axsl.orthography.Orthography; import org.axsl.ps.BoundingBox; import org.axsl.ps.Encoding; @@ -753,13 +754,7 @@ * @return The computed millipoint value of {@code glyphSpaceUnits} scaled to {@code fontSize}. */ default int toMillipoints(int glyphSpaceUnits, int fontSize) { - /* proportionOfEmUsed = glyphSpaceUnits / unitsPerEm. - * actualFontSize = fontSize / 1000. - * millipoints = proportionOfEmUsed * actualFontSize * 1000. - * which simplifies to - * millipoints = glyphSpaceUnits * fontSize / unitsPerEm. */ - final float raw = glyphSpaceUnits * fontSize / (float) getUnitsPerEm(); - return Math.round(raw); + return TypographicConstants.glyphSpaceUnitsToMillipoints(glyphSpaceUnits, getUnitsPerEm(), fontSize); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-27 00:15:16
|
Revision: 2702 http://sourceforge.net/p/axsl/code/2702 Author: victormote Date: 2023-01-27 00:15:13 +0000 (Fri, 27 Jan 2023) Log Message: ----------- Make glyph-space units to millipoints computation slightly more accurate. Modified Paths: -------------- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java =================================================================== --- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-26 21:36:36 UTC (rev 2701) +++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-27 00:15:13 UTC (rev 2702) @@ -740,7 +740,7 @@ * Returns the number of glyph-space units per em that is used in this font for internal font measurements. * For PostScript Type 1 fonts, this is usually 1000. * For TrueType fonts, it is usually 2048, but can be specified in the font itself. - * @return The number of units per glyph-space unit used by this font. + * @return The number of glyph-space units per em used by this font. */ int getUnitsPerEm(); @@ -758,7 +758,8 @@ * millipoints = proportionOfEmUsed * actualFontSize * 1000. * which simplifies to * millipoints = glyphSpaceUnits * fontSize / unitsPerEm. */ - return Math.round(glyphSpaceUnits * fontSize / getUnitsPerEm()); + final float raw = glyphSpaceUnits * fontSize / (float) getUnitsPerEm(); + return Math.round(raw); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-26 21:36:39
|
Revision: 2701 http://sourceforge.net/p/axsl/code/2701 Author: victormote Date: 2023-01-26 21:36:36 +0000 (Thu, 26 Jan 2023) Log Message: ----------- Move font fixture code to new FOray project. Modified Paths: -------------- trunk/axsl/axsl-font/build.gradle trunk/axsl/axsl-kp-model/src/testFixtures/java/org/axsl/kp/KpBranchTf.java Removed Paths: ------------- trunk/axsl/axsl-font/src/testFixtures/java/ Modified: trunk/axsl/axsl-font/build.gradle =================================================================== --- trunk/axsl/axsl-font/build.gradle 2023-01-25 12:54:08 UTC (rev 2700) +++ trunk/axsl/axsl-font/build.gradle 2023-01-26 21:36:36 UTC (rev 2701) @@ -1,6 +1,5 @@ plugins { id 'axsl.library-conventions' - id 'axsl.test-fixtures-conventions' } description = "axsl-font" @@ -10,11 +9,6 @@ implementation (project(':axsl-primitive')) implementation (project(':axsl-ps')) implementation (project(':axsl-orthography')) - - testFixturesImplementation (project(':axsl-constants')) - testFixturesImplementation (project(':axsl-primitive')) - testFixturesImplementation (project(':axsl-ps')) - testFixturesImplementation (project(':axsl-orthography')) } /* We want the DTDs to live as part of the website files, so we need to copy them into the jar file here. */ Modified: trunk/axsl/axsl-kp-model/src/testFixtures/java/org/axsl/kp/KpBranchTf.java =================================================================== --- trunk/axsl/axsl-kp-model/src/testFixtures/java/org/axsl/kp/KpBranchTf.java 2023-01-25 12:54:08 UTC (rev 2700) +++ trunk/axsl/axsl-kp-model/src/testFixtures/java/org/axsl/kp/KpBranchTf.java 2023-01-26 21:36:36 UTC (rev 2701) @@ -27,7 +27,7 @@ import java.util.List; /** - * FOray implementation of {@link KpBranch}. + * Implementation of {@link KpBranch} useful as a test fixture. */ public class KpBranchTf implements KpBranch, CharSequence { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-25 12:54:11
|
Revision: 2700 http://sourceforge.net/p/axsl/code/2700 Author: victormote Date: 2023-01-25 12:54:08 +0000 (Wed, 25 Jan 2023) Log Message: ----------- Minor doc changes. Modified Paths: -------------- trunk/axsl/build.gradle trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle Modified: trunk/axsl/build.gradle =================================================================== --- trunk/axsl/build.gradle 2023-01-24 11:46:39 UTC (rev 2699) +++ trunk/axsl/build.gradle 2023-01-25 12:54:08 UTC (rev 2700) @@ -1,6 +1,4 @@ /* -This build file and the related subproject build files were designed to run with Gradle version 7.3.3. - Important targets to run from the root directory: 1. gradle build Normal build checking for compile errors and test failures. Modified: trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle =================================================================== --- trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle 2023-01-24 11:46:39 UTC (rev 2699) +++ trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle 2023-01-25 12:54:08 UTC (rev 2700) @@ -23,6 +23,8 @@ junit: '5.9.1', // Latest is 5.9.1 as of 2022-11-26. mockito: '4.9.0', // Latest is 4.9.0 as of 2022-11-26. + + /* Build-time-only dependencies that should never be permanently used in build.gradle files. */ checkstyle: '10.4', // Latest is 10.6 as of 2023-01-23. See Note 2. ] /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-24 11:46:42
|
Revision: 2699 http://sourceforge.net/p/axsl/code/2699 Author: victormote Date: 2023-01-24 11:46:39 +0000 (Tue, 24 Jan 2023) Log Message: ----------- Upgrade checkstyle to 10.4. Fix new complaints made by the new version. Modified Paths: -------------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java trunk/axsl/axsl-value/src/main/java/org/axsl/value/FontWeight.java trunk/axsl/axsl-value/src/main/java/org/axsl/value/ForcePageCount.java trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java 2023-01-24 11:45:23 UTC (rev 2698) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java 2023-01-24 11:46:39 UTC (rev 2699) @@ -184,7 +184,7 @@ if (foFontWeight == null) { return null; } - switch(foFontWeight) { + switch (foFontWeight) { case NORMAL: return Font.Weight.NORMAL; case BOLD: return Font.Weight.BOLD; case N100: return Font.Weight.EXTREMELY_LIGHT; Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java =================================================================== --- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-24 11:45:23 UTC (rev 2698) +++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-24 11:46:39 UTC (rev 2699) @@ -220,7 +220,7 @@ * returns itself. */ public Weight nextHeaviest() { - switch(this) { + switch (this) { case EXTREMELY_LIGHT: return VERY_LIGHT; case VERY_LIGHT: return LIGHT; case LIGHT: return NORMAL; @@ -240,7 +240,7 @@ * returns itself. */ public Weight nextLightest() { - switch(this) { + switch (this) { case EXTREMELY_LIGHT: return this; case VERY_LIGHT: return EXTREMELY_LIGHT; case LIGHT: return VERY_LIGHT; Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java =================================================================== --- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java 2023-01-24 11:45:23 UTC (rev 2698) +++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java 2023-01-24 11:46:39 UTC (rev 2699) @@ -98,7 +98,7 @@ * These can be used for either the page dimensions or the page bounding box dimensions, as specified in * {@link PdfDestinationExplicit.PositionAndZoom}. */ - public interface Coordinates { + interface Coordinates { /** * The left coordinate of the display window, either "null" or a number of points. Modified: trunk/axsl/axsl-value/src/main/java/org/axsl/value/FontWeight.java =================================================================== --- trunk/axsl/axsl-value/src/main/java/org/axsl/value/FontWeight.java 2023-01-24 11:45:23 UTC (rev 2698) +++ trunk/axsl/axsl-value/src/main/java/org/axsl/value/FontWeight.java 2023-01-24 11:46:39 UTC (rev 2699) @@ -152,7 +152,7 @@ * returns itself. */ public FontWeight nextHeaviest() { - switch(this) { + switch (this) { case N100: return N200; case N200: return N300; case N300: return NORMAL; @@ -174,7 +174,7 @@ * returns itself. */ public FontWeight nextLightest() { - switch(this) { + switch (this) { case N100: return this; case N200: return N100; case N300: return N200; Modified: trunk/axsl/axsl-value/src/main/java/org/axsl/value/ForcePageCount.java =================================================================== --- trunk/axsl/axsl-value/src/main/java/org/axsl/value/ForcePageCount.java 2023-01-24 11:45:23 UTC (rev 2698) +++ trunk/axsl/axsl-value/src/main/java/org/axsl/value/ForcePageCount.java 2023-01-24 11:46:39 UTC (rev 2699) @@ -81,7 +81,7 @@ } } - switch(revised) { + switch (revised) { case EVEN: return isOdd(currentPageCount); case ODD: return ! isOdd(currentPageCount); case END_ON_EVEN: return isOdd(lastPageNumber); Modified: trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle =================================================================== --- trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle 2023-01-24 11:45:23 UTC (rev 2698) +++ trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle 2023-01-24 11:46:39 UTC (rev 2699) @@ -23,7 +23,7 @@ junit: '5.9.1', // Latest is 5.9.1 as of 2022-11-26. mockito: '4.9.0', // Latest is 4.9.0 as of 2022-11-26. - checkstyle: '8.36.1', // Latest is 10.4 as of 2022-11-26. See Note 2. + checkstyle: '10.4', // Latest is 10.6 as of 2023-01-23. See Note 2. ] /* * Notes on Dependency Releases (See above for references) @@ -31,7 +31,7 @@ * 1. Latest release information above is per www.mvnrepository.com, and ignores non-released artifacts (no alpha or * beta releases). * - * 2. The latest (as of 2022-11-26) Eclipse plugin for checkstyle uses Checkstyle 8.36.1. + * 2. The current (as of 2023-01-23) Eclipse plugin for checkstyle uses Checkstyle 10.4. * We will use that for now to avoid configuration conflicts between the two versions. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-24 11:45:24
|
Revision: 2698 http://sourceforge.net/p/axsl/code/2698 Author: victormote Date: 2023-01-24 11:45:23 +0000 (Tue, 24 Jan 2023) Log Message: ----------- Upgrade gradle to 7.6. Modified Paths: -------------- trunk/axsl/gradle/wrapper/gradle-wrapper.properties trunk/axsl/gradlew Modified: trunk/axsl/gradle/wrapper/gradle-wrapper.properties =================================================================== --- trunk/axsl/gradle/wrapper/gradle-wrapper.properties 2023-01-23 14:00:14 UTC (rev 2697) +++ trunk/axsl/gradle/wrapper/gradle-wrapper.properties 2023-01-24 11:45:23 UTC (rev 2698) @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists Modified: trunk/axsl/gradlew =================================================================== --- trunk/axsl/gradlew 2023-01-23 14:00:14 UTC (rev 2697) +++ trunk/axsl/gradlew 2023-01-24 11:45:23 UTC (rev 2698) @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright \xA9 2015-2021 the original authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,10 +32,10 @@ # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: # * functions; -# * expansions \xAB$var\xBB, \xAB${var}\xBB, \xAB${var:-default}\xBB, \xAB${var+SET}\xBB, -# \xAB${var#prefix}\xBB, \xAB${var%suffix}\xBB, and \xAB$( cmd )\xBB; -# * compound commands having a testable exit status, especially \xABcase\xBB; -# * various built-in commands including \xABcommand\xBB, \xABset\xBB, and \xABulimit\xBB. +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». # # Important for patching: # This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-23 14:00:16
|
Revision: 2697 http://sourceforge.net/p/axsl/code/2697 Author: victormote Date: 2023-01-23 14:00:14 +0000 (Mon, 23 Jan 2023) Log Message: ----------- Change the width of the undefined glyph and the estimated sizes of glyphs to be returned in glyph-space units. Clarify javadoc in related methods. Modified Paths: -------------- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java =================================================================== --- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-23 12:23:18 UTC (rev 2696) +++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-23 14:00:14 UTC (rev 2697) @@ -711,12 +711,28 @@ int getXheight(int fontSize); /** + * Returns the index into the font metrics for a given code point. + * @param codePoint The Unicode code point whose metric index is needed. + * @return The metric index for {@code codePoint}, or -1 if there are no metrics for it. + */ + int metricIndex(int codePoint); + + /** + * Returns the width of the undefined or missing glyph. + * @return The width, in glyph-space units, of the undefined glyph at the specified point size. + */ + int widthUndefinedGlyph(); + + /** * Returns the width of a glyph for this font, expressed in the font's native glyph space. * For Type 1 fonts, this is usually in units of 1/1000 of an em. * For TrueType fonts, this is usually in units of 1/2048 of an em. * @param codePoint The code point for which the width should be returned. - * @return The width, in native glyph space units, of the glyph in this font for {@code codePoint}, or - * {@link Integer#MIN_VALUE} if such a glyph is not found. + * @return The width, in native glyph space units, of the glyph in this font for {@code codePoint}. + * If not found, but the width of {@code codePoint} can be computed, returns the computed value (for example, for + * em-space or en-space). + * In all other cases, returns the width of the undefined glyph. + * To ensure that a glyph is actually available in the font, check the return value of {@link #metricIndex(int)}. */ int getNativeWidth(int codePoint); @@ -749,8 +765,11 @@ * Returns the width of a glyph for this font, at a specified point size. * @param codePoint The code point for which the width should be returned. * @param fontSize The size, in millipoints, of the font. - * @return The width, in millipoints, of the glyph in this font for {@code codePoint}, or {@link Integer#MIN_VALUE} - * if such a glyph is not found. + * @return The width, in millipoints, of the glyph in this font for {@code codePoint}. + * If not found, but the width of {@code codePoint} can be computed, returns the computed value (for example, for + * em-space or en-space). + * In all other cases, returns the width of the undefined glyph. + * To ensure that a glyph is actually available in the font, check the return value of {@link #metricIndex(int)}. */ default int width(int codePoint, int fontSize) { final int nativeWidth = this.getNativeWidth(codePoint); @@ -776,7 +795,8 @@ * Word-spacing is added only to space characters (0x20). * Any other whitespace characters that the client applications wishes to have considered as word-spacing must * first be normalized to 0x20. - * If there is no glyph for a character in {@code chars}, the width returned will be that of the "missing glyph". + * If there is no glyph for a character in {@code chars}, the width returned will be either a computed estimate (for + * characters like em-space and en-space) or that of the "missing glyph". */ default int width(final CharSequence chars, int offset, int length, int fontSize, int letterSpacing, int wordSpacing, FontContext requestedFontContext, Orthography orthography) { @@ -787,12 +807,7 @@ for (int i = 0; i < chars.length(); i++) { final int codePoint = chars.charAt(i); /* Add the width of the character itself. */ - final int charWidth = getNativeWidth(codePoint); - if (charWidth == Integer.MIN_VALUE) { - glyphSpaceSize += widthUndefinedGlyph(fontSize); - } else { - glyphSpaceSize += charWidth; - } + glyphSpaceSize += getNativeWidth(codePoint); /* Add any kerning. */ if (fontContext.isKerning() && i < chars.length() - 1) { @@ -838,7 +853,7 @@ } /** - * Returns the estimated width of a Unicode character for this font, at a specified point size. + * Returns the estimated width of a Unicode character for this font, in glyph-space units. * This method is implementation-dependent. * It may attempt to estimate the size of characters such as hair spaces and em quads, which may not be available in * the font, but which can be simulated in output if the size is known. @@ -845,11 +860,10 @@ * Presumably, this method should be used only after {@link #width(int, int)} has indicated that the font cannot * return a true width. * @param codePoint The Unicode character for which the width should be returned. - * @param fontSize The size, in millipoints, of the font. - * @return The width, in millipoints, of the estimated size of this glyph in this font for {@code codePoint}, or - * {@link Integer#MIN_VALUE} if the implementation cannot estimate such a width. + * @return The width, in glyph-space units, of the estimated size of this glyph in this font for {@code codePoint}, + * or {@link Integer#MIN_VALUE} if the implementation cannot estimate such a width. */ - int widthEstimate(int codePoint, int fontSize); + int widthEstimate(int codePoint); /** * Tells the client application whether this font can be embedded or not. @@ -1135,18 +1149,4 @@ */ int getFlags(); - /** - * Returns the index into the font metrics for a given code point. - * @param codePoint The Unicode code point whose metric index is needed. - * @return The metric index for {@code codePoint}, or -1 if there are no metrics for it.. - */ - int metricIndex(int codePoint); - - /** - * Returns the width of the undefined or missing glyph. - * @param fontSize The font size at which the width should be computed. - * @return The width, in millipoints, of the undefined glyph at the specified point size. - */ - int widthUndefinedGlyph(int fontSize); - } Modified: trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java =================================================================== --- trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java 2023-01-23 12:23:18 UTC (rev 2696) +++ trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java 2023-01-23 14:00:14 UTC (rev 2697) @@ -66,6 +66,12 @@ } @Override + public int widthUndefinedGlyph() { + // TODO Auto-generated method stub + return 0; + } + + @Override public int getNativeWidth(final int codePoint) { // TODO Auto-generated method stub return 0; @@ -277,7 +283,7 @@ } @Override - public int widthEstimate(final int codePoint, final int fontSize) { + public int widthEstimate(final int codePoint) { // TODO Auto-generated method stub return 0; } @@ -318,10 +324,4 @@ return 0; } - @Override - public int widthUndefinedGlyph(final int fontSize) { - // TODO Auto-generated method stub - return 0; - } - } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-23 12:23:21
|
Revision: 2696 http://sourceforge.net/p/axsl/code/2696 Author: victormote Date: 2023-01-23 12:23:18 +0000 (Mon, 23 Jan 2023) Log Message: ----------- Use default logic for more width-related computations. Modified Paths: -------------- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java =================================================================== --- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-22 22:53:14 UTC (rev 2695) +++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-23 12:23:18 UTC (rev 2696) @@ -23,7 +23,6 @@ package org.axsl.font; -import org.axsl.constants.TypographicConstants; import org.axsl.orthography.Orthography; import org.axsl.ps.BoundingBox; import org.axsl.ps.Encoding; @@ -716,20 +715,37 @@ * For Type 1 fonts, this is usually in units of 1/1000 of an em. * For TrueType fonts, this is usually in units of 1/2048 of an em. * @param codePoint The code point for which the width should be returned. - * @return The width, in native glyph space units, of the glyph ins this font for {@code codePoint}, or + * @return The width, in native glyph space units, of the glyph in this font for {@code codePoint}, or * {@link Integer#MIN_VALUE} if such a glyph is not found. */ int getNativeWidth(int codePoint); /** - * Returns the number of units per em that is used in this font for internal font measurements. + * Returns the number of glyph-space units per em that is used in this font for internal font measurements. * For PostScript Type 1 fonts, this is usually 1000. * For TrueType fonts, it is usually 2048, but can be specified in the font itself. - * @return The units per text-space unit used by this font. + * @return The number of units per glyph-space unit used by this font. */ int getUnitsPerEm(); /** + * Converts a one-dimensional value (length) expressed in glyph space units (the native value stored in the font) to + * millipoints. + * @param glyphSpaceUnits The glyph space units value to be converted. + * @param fontSize The size, in millipoints, of the font. + * For a 12-point font, this value should be 12,000. + * @return The computed millipoint value of {@code glyphSpaceUnits} scaled to {@code fontSize}. + */ + default int toMillipoints(int glyphSpaceUnits, int fontSize) { + /* proportionOfEmUsed = glyphSpaceUnits / unitsPerEm. + * actualFontSize = fontSize / 1000. + * millipoints = proportionOfEmUsed * actualFontSize * 1000. + * which simplifies to + * millipoints = glyphSpaceUnits * fontSize / unitsPerEm. */ + return Math.round(glyphSpaceUnits * fontSize / getUnitsPerEm()); + } + + /** * Returns the width of a glyph for this font, at a specified point size. * @param codePoint The code point for which the width should be returned. * @param fontSize The size, in millipoints, of the font. @@ -736,7 +752,10 @@ * @return The width, in millipoints, of the glyph in this font for {@code codePoint}, or {@link Integer#MIN_VALUE} * if such a glyph is not found. */ - int width(int codePoint, int fontSize); + default int width(int codePoint, int fontSize) { + final int nativeWidth = this.getNativeWidth(codePoint); + return toMillipoints(nativeWidth, fontSize); + } /** * Calculates the width of a given glyph sequence, considering letter spacing, word spacing, and font options @@ -762,40 +781,43 @@ default int width(final CharSequence chars, int offset, int length, int fontSize, int letterSpacing, int wordSpacing, FontContext requestedFontContext, Orthography orthography) { final FontContext fontContext = requestedFontContext == null ? FontContext.DEFAULT : requestedFontContext; - int width = 0; + /* Glyph widths and kerning are accumulated in glyph space units (not millipoints). */ + int glyphSpaceSize = 0; + int spaceCount = 0; for (int i = 0; i < chars.length(); i++) { final int codePoint = chars.charAt(i); - // Add the width of the character itself. - final int charWidth = width(codePoint, fontSize); + /* Add the width of the character itself. */ + final int charWidth = getNativeWidth(codePoint); if (charWidth == Integer.MIN_VALUE) { - width += widthUndefinedGlyph(fontSize); + glyphSpaceSize += widthUndefinedGlyph(fontSize); } else { - width += charWidth; + glyphSpaceSize += charWidth; } - // Add any kerning. + /* Add any kerning. */ if (fontContext.isKerning() && i < chars.length() - 1) { final int kerning = kern(codePoint, chars.charAt(i + 1)); - /* Kerning is computed in 1/1000 of a text-space unit, regardless of how the value - * is stored internally in the font. Therefore, we just need to adjust for the - * font-size. */ - width += Math.round(kerning * fontSize / TypographicConstants.MILLIPOINTS_PER_POINT); + glyphSpaceSize += kerning; } - // Add any word-spacing + /* Count word spaces for downstream processing. */ if (codePoint == U0000_Basic_Latin.SPACE) { - width += wordSpacing; + spaceCount ++; } } - /* + + /* Convert the glyph space units to millipoints. */ + int width = toMillipoints(glyphSpaceSize, fontSize); + + /* Add the size of the word-spacing. */ + width += spaceCount * wordSpacing; + + /* Add the size of the letter-spacing. * Letter-spacing should only be added between the characters. - * It cannot be added before or after the String without making - * assumptions about the String's context. - * At least as far as PDF is concerned, when letter spacing is set, it - * applies to all characters, including whitespace. + * It cannot be added before or after the String without making assumptions about the String's context. + * At least as far as PDF is concerned, when letter spacing is set, it applies to all characters, including + * whitespace. * We will handle it the same way here. - * TODO: Characters like combining diacriticals should almost - * certainly not be letter-spaced. - */ + * TODO: Characters like combining diacriticals should almost certainly not be letter-spaced. */ width += (chars.length() - 1) * letterSpacing; return width; } @@ -914,7 +936,7 @@ * Computes the kerning needed between the glyphs of two code points in this font. * @param codePoint1 The code point of the first (left in a left-to-right system) glyph. * @param codePoint2 The code point of the second (right in left-to-right system) glyph. - * @return The length to be kerned, in raw font units (millipoints in a Type 1 font). + * @return The length to be kerned, in native font glyph space units (millipoints in a Type 1 font). * A positive amount means that the characters should be moved farther apart, and a negative amount means that they * should be moved closer together. */ @@ -1114,9 +1136,9 @@ int getFlags(); /** - * For a given Unicode code point index, returns the index into the font metrics for that code point. - * @param codePoint The Unicode code point to be converted. - * @return The metric index. + * Returns the index into the font metrics for a given code point. + * @param codePoint The Unicode code point whose metric index is needed. + * @return The metric index for {@code codePoint}, or -1 if there are no metrics for it.. */ int metricIndex(int codePoint); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-22 22:53:17
|
Revision: 2695 http://sourceforge.net/p/axsl/code/2695 Author: victormote Date: 2023-01-22 22:53:14 +0000 (Sun, 22 Jan 2023) Log Message: ----------- Add methods for obtaining the native width values and the conversion factor from the font. Modified Paths: -------------- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java =================================================================== --- trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-22 16:38:52 UTC (rev 2694) +++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/Font.java 2023-01-22 22:53:14 UTC (rev 2695) @@ -712,6 +712,24 @@ int getXheight(int fontSize); /** + * Returns the width of a glyph for this font, expressed in the font's native glyph space. + * For Type 1 fonts, this is usually in units of 1/1000 of an em. + * For TrueType fonts, this is usually in units of 1/2048 of an em. + * @param codePoint The code point for which the width should be returned. + * @return The width, in native glyph space units, of the glyph ins this font for {@code codePoint}, or + * {@link Integer#MIN_VALUE} if such a glyph is not found. + */ + int getNativeWidth(int codePoint); + + /** + * Returns the number of units per em that is used in this font for internal font measurements. + * For PostScript Type 1 fonts, this is usually 1000. + * For TrueType fonts, it is usually 2048, but can be specified in the font itself. + * @return The units per text-space unit used by this font. + */ + int getUnitsPerEm(); + + /** * Returns the width of a glyph for this font, at a specified point size. * @param codePoint The code point for which the width should be returned. * @param fontSize The size, in millipoints, of the font. Modified: trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java =================================================================== --- trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java 2023-01-22 16:38:52 UTC (rev 2694) +++ trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFont.java 2023-01-22 22:53:14 UTC (rev 2695) @@ -66,6 +66,18 @@ } @Override + public int getNativeWidth(final int codePoint) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public int getUnitsPerEm() { + // TODO Auto-generated method stub + return 0; + } + + @Override public int width(final int codePoint, final int fontSize) { final int metricIndex = metricIndex(codePoint); return this.widths[metricIndex] * fontSize / TypographicConstants.MILLIPOINTS_PER_POINT; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-22 16:38:55
|
Revision: 2694 http://sourceforge.net/p/axsl/code/2694 Author: victormote Date: 2023-01-22 16:38:52 +0000 (Sun, 22 Jan 2023) Log Message: ----------- Remove unnecessary mavenLocal as a repository. Modified Paths: -------------- trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle Modified: trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle =================================================================== --- trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle 2023-01-21 21:42:53 UTC (rev 2693) +++ trunk/axsl/buildSrc/src/main/groovy/axsl.common-conventions.gradle 2023-01-22 16:38:52 UTC (rev 2694) @@ -2,8 +2,7 @@ repositories { - mavenLocal() - maven { url "https://repo.maven.apache.org/maven2" } + mavenCentral() } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-21 21:42:55
|
Revision: 2693 http://sourceforge.net/p/axsl/code/2693 Author: victormote Date: 2023-01-21 21:42:53 +0000 (Sat, 21 Jan 2023) Log Message: ----------- Remove unused and unneeded methods. Modified Paths: -------------- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontUse.java trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFontUse.java Modified: trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontUse.java =================================================================== --- trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontUse.java 2023-01-21 00:19:30 UTC (rev 2692) +++ trunk/axsl/axsl-font/src/main/java/org/axsl/font/FontUse.java 2023-01-21 21:42:53 UTC (rev 2693) @@ -165,35 +165,6 @@ boolean glyphAvailable(int codePoint); /** - * Returns the weight of the next bolder font in this font's font-family, if one exists. - * If no bolder font exists, returns the next bolder numerical weight value. - * If the weight of this Font is already the boldest, - * {@link Font.Weight#BLACK}, then returns that value. - * @return One of {@link Font.Weight#EXTREMELY_LIGHT}, - * {@link Font.Weight#VERY_LIGHT}, - * {@link Font.Weight#LIGHT}, {@link Font.Weight#NORMAL}, - * {@link Font.Weight#DARK}, {@link Font.Weight#SEMI_BOLD}, - * {@link Font.Weight#BOLD}, {@link Font.Weight#EXTRA_BOLD}, - * {@link Font.Weight#BLACK} - */ - Font.Weight nextBolderWeight(); - - /** - * Returns the weight of the next lighter font in this font's font-family, if one exists. - * If no lighter font exists, returns the next lighter numerical weight - * value. - * If the weight of this Font is already the lightest, - * {@link Font.Weight#EXTREMELY_LIGHT}, then returns that value. - * @return One of {@link Font.Weight#EXTREMELY_LIGHT}, - * {@link Font.Weight#VERY_LIGHT}, - * {@link Font.Weight#LIGHT}, {@link Font.Weight#NORMAL}, - * {@link Font.Weight#DARK}, {@link Font.Weight#SEMI_BOLD}, - * {@link Font.Weight#BOLD}, {@link Font.Weight#EXTRA_BOLD}, - * {@link Font.Weight#BLACK} - */ - Font.Weight nextLighterWeight(); - - /** * Returns the next bolder font in this font's font-family, if one exists, * or null if this is the boldest font. * @return Either the next bolder font, or null if there is no such font. Modified: trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFontUse.java =================================================================== --- trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFontUse.java 2023-01-21 00:19:30 UTC (rev 2692) +++ trunk/axsl/axsl-font/src/testFixtures/java/org/axsl/font/fixture/MockFontUse.java 2023-01-21 21:42:53 UTC (rev 2693) @@ -25,7 +25,6 @@ import org.axsl.font.Font; import org.axsl.font.Font.Stretch; -import org.axsl.font.Font.Weight; import org.axsl.font.FontConsumer; import org.axsl.font.FontContext; import org.axsl.font.FontUse; @@ -102,18 +101,6 @@ } @Override - public Weight nextBolderWeight() { - // TODO Auto-generated method stub - return null; - } - - @Override - public Weight nextLighterWeight() { - // TODO Auto-generated method stub - return null; - } - - @Override public FontUse nextBolderFont() { // TODO Auto-generated method stub return null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-21 00:19:32
|
Revision: 2692 http://sourceforge.net/p/axsl/code/2692 Author: victormote Date: 2023-01-21 00:19:30 +0000 (Sat, 21 Jan 2023) Log Message: ----------- Add resolved factors from layout to construction of text areas. Modified Paths: -------------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-20 23:26:59 UTC (rev 2691) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-21 00:19:30 UTC (rev 2692) @@ -44,6 +44,8 @@ import org.axsl.galley.GlyphAreaSequenceG5; import org.axsl.orthography.TextTokenFlowLocation; +import java.math.BigDecimal; + /** * Super-interface for all interfaces that need to be able to create child inline content. */ @@ -72,10 +74,19 @@ * discretionary hyphen at the end of the text. * @param isLastItemOnLine True if and only if the new {@link GlyphAreaSequenceG5} will be the last item on the * line. + * @param resolvedWordSpacing The word spacing to be applied to each space in this area. + * @param resolvedLetterSpacing the letter spacing to be applied to each intra-word character in this area. + * @param resolvedIpdStretch The stretch factor, as a percentage, that should be applied to this area along the + * inline-progression-direction. + * 100% or null results in no stretch, values greater than 100% will increase the inline-progression-dimension + * (make the content wider in horizontal writing systems), and values less that 100% will decrease the + * inline-progression-dimension (make the the content narrower in horizontal writing systems). + * This computation is applied <em>after</em> any word-spacing or letter-spacing has been applied. * @return The new {@link GlyphAreaSequenceG5} instance, or null if there is no content. */ GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextCharacters characters, int startOffset, int sizeInChars, - boolean hasDiscretionaryHyphen, boolean isLastItemOnLine); + boolean hasDiscretionaryHyphen, boolean isLastItemOnLine, int resolvedWordSpacing, + int resolvedLetterSpacing, BigDecimal resolvedIpdStretch); /** * Create a new sequence of glyph-areas for {@link FoTextWords}. @@ -82,10 +93,19 @@ * @param paragraph The text words for which the glyph areas should be created. * @param startLocation The starting location in {@code paragraph} for the text in the new area, inclusive. * @param endLocation The ending location in {@code paragraph} for the text in the new area, exclusive. + * @param resolvedWordSpacing The word spacing to be applied to each space in this area. + * @param resolvedLetterSpacing the letter spacing to be applied to each intra-word character in this area. + * @param resolvedIpdStretch The stretch factor, as a percentage, that should be applied to this area along the + * inline-progression-direction. + * 100% or null results in no stretch, values greater than 100% will increase the inline-progression-dimension + * (make the content wider in horizontal writing systems), and values less that 100% will decrease the + * inline-progression-dimension (make the the content narrower in horizontal writing systems). + * This computation is applied <em>after</em> any word-spacing or letter-spacing has been applied. * @return The new {@link GlyphAreaSequenceG5} instance, or null if there is no content. */ GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextWords paragraph, TextTokenFlowLocation startLocation, - TextTokenFlowLocation endLocation); + TextTokenFlowLocation endLocation, int resolvedWordSpacing, int resolvedLetterSpacing, + BigDecimal resolvedIpdStretch); /** * Creates a new Area for external-graphic content. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-20 23:27:01
|
Revision: 2691 http://sourceforge.net/p/axsl/code/2691 Author: victormote Date: 2023-01-20 23:26:59 +0000 (Fri, 20 Jan 2023) Log Message: ----------- Remove ipd from construction of a text area. Modified Paths: -------------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-20 22:15:09 UTC (rev 2690) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-20 23:26:59 UTC (rev 2691) @@ -68,8 +68,6 @@ * @param sizeInChars The number of char elements in * {@link FoTextCharacters#getRefinedText(org.axsl.fotree.FoContext)} that generate the glyph-areas in the new * {@link GlyphAreaSequenceG5}. - * @param ipd The inline-progression-dimension, in millipoints, which the new {@link GlyphAreaSequenceG5} consumes - * on the line. * @param hasDiscretionaryHyphen True if and only if the new {@link GlyphAreaSequenceG5} should place a * discretionary hyphen at the end of the text. * @param isLastItemOnLine True if and only if the new {@link GlyphAreaSequenceG5} will be the last item on the @@ -76,7 +74,7 @@ * line. * @return The new {@link GlyphAreaSequenceG5} instance, or null if there is no content. */ - GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextCharacters characters, int startOffset, int sizeInChars, int ipd, + GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextCharacters characters, int startOffset, int sizeInChars, boolean hasDiscretionaryHyphen, boolean isLastItemOnLine); /** @@ -84,12 +82,10 @@ * @param paragraph The text words for which the glyph areas should be created. * @param startLocation The starting location in {@code paragraph} for the text in the new area, inclusive. * @param endLocation The ending location in {@code paragraph} for the text in the new area, exclusive. - * @param ipd The inline-progression-dimension, in millipoints, which the new {@link GlyphAreaSequenceG5} consumes - * on the line. * @return The new {@link GlyphAreaSequenceG5} instance, or null if there is no content. */ GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextWords paragraph, TextTokenFlowLocation startLocation, - TextTokenFlowLocation endLocation, int ipd); + TextTokenFlowLocation endLocation); /** * Creates a new Area for external-graphic content. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-20 22:15:12
|
Revision: 2690 http://sourceforge.net/p/axsl/code/2690 Author: victormote Date: 2023-01-20 22:15:09 +0000 (Fri, 20 Jan 2023) Log Message: ----------- Remove hasFauxSmallCaps from text area creation. Modified Paths: -------------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-20 21:38:07 UTC (rev 2689) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-20 22:15:09 UTC (rev 2690) @@ -72,14 +72,12 @@ * on the line. * @param hasDiscretionaryHyphen True if and only if the new {@link GlyphAreaSequenceG5} should place a * discretionary hyphen at the end of the text. - * @param hasFauxSmallCaps True if and only if the new {@link GlyphAreaSequenceG5} item content should be handled as - * faux small caps. * @param isLastItemOnLine True if and only if the new {@link GlyphAreaSequenceG5} will be the last item on the * line. * @return The new {@link GlyphAreaSequenceG5} instance, or null if there is no content. */ GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextCharacters characters, int startOffset, int sizeInChars, int ipd, - boolean hasDiscretionaryHyphen, boolean hasFauxSmallCaps, boolean isLastItemOnLine); + boolean hasDiscretionaryHyphen, boolean isLastItemOnLine); /** * Create a new sequence of glyph-areas for {@link FoTextWords}. @@ -88,12 +86,10 @@ * @param endLocation The ending location in {@code paragraph} for the text in the new area, exclusive. * @param ipd The inline-progression-dimension, in millipoints, which the new {@link GlyphAreaSequenceG5} consumes * on the line. - * @param hasFauxSmallCaps True if and only if the new {@link GlyphAreaSequenceG5} item content should be handled as - * faux small caps. * @return The new {@link GlyphAreaSequenceG5} instance, or null if there is no content. */ GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextWords paragraph, TextTokenFlowLocation startLocation, - TextTokenFlowLocation endLocation, int ipd, boolean hasFauxSmallCaps); + TextTokenFlowLocation endLocation, int ipd); /** * Creates a new Area for external-graphic content. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-20 21:38:10
|
Revision: 2689 http://sourceforge.net/p/axsl/code/2689 Author: victormote Date: 2023-01-20 21:38:07 +0000 (Fri, 20 Jan 2023) Log Message: ----------- Add method indicating whether the area uses faux small-caps. Modified Paths: -------------- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java Modified: trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java =================================================================== --- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java 2023-01-18 19:02:02 UTC (rev 2688) +++ trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java 2023-01-20 21:38:07 UTC (rev 2689) @@ -96,4 +96,10 @@ */ FontContext fontContext(); + /** + * Indicates whether this area should be rendered using faux small caps. + * @return True if and only if this area should be rendered using faux small caps. + */ + boolean usesFauxSmallCaps(); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-18 19:02:03
|
Revision: 2688 http://sourceforge.net/p/axsl/code/2688 Author: victormote Date: 2023-01-18 19:02:02 +0000 (Wed, 18 Jan 2023) Log Message: ----------- 1. Add ipd to creation methods for word content. 2. Add method returning a horizontal stretch value for text items. 3. Add doc regarding meaning and completeness of various items related to text state. Modified Paths: -------------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/trait/CharacterTraitsTa.java Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-14 15:46:15 UTC (rev 2687) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/factory/LineContentFactory.java 2023-01-18 19:02:02 UTC (rev 2688) @@ -86,12 +86,14 @@ * @param paragraph The text words for which the glyph areas should be created. * @param startLocation The starting location in {@code paragraph} for the text in the new area, inclusive. * @param endLocation The ending location in {@code paragraph} for the text in the new area, exclusive. + * @param ipd The inline-progression-dimension, in millipoints, which the new {@link GlyphAreaSequenceG5} consumes + * on the line. * @param hasFauxSmallCaps True if and only if the new {@link GlyphAreaSequenceG5} item content should be handled as * faux small caps. * @return The new {@link GlyphAreaSequenceG5} instance, or null if there is no content. */ GlyphAreaSequenceG5 createGlyphAreaSequence(FoTextWords paragraph, TextTokenFlowLocation startLocation, - TextTokenFlowLocation endLocation, boolean hasFauxSmallCaps); + TextTokenFlowLocation endLocation, int ipd, boolean hasFauxSmallCaps); /** * Creates a new Area for external-graphic content. Modified: trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java =================================================================== --- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java 2023-01-14 15:46:15 UTC (rev 2687) +++ trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/GlyphAreaSequenceG5.java 2023-01-18 19:02:02 UTC (rev 2688) @@ -29,7 +29,46 @@ import org.axsl.galley.trait.NominalFontTa; /** - * An Area containing text. + * <p>An Area containing text. + * This class does not map directly to a concept in the XSL-FO Area Tree. + * XSL-FO has a notion of a "glyph-area" which is useful for the abstract description of the laid-out document. + * As a practical matter, it is much more convenient to treat contiguous glyph-areas that have identical text-related + * traits as a sequence of such glyph-areas, which is what this class represents.</p> + * + * <p>Implementations of this interface are primarily concerned with providing information about the + * inline-progression-dimension. + * We will use PDF as a baseline format to which we might render documents. + * The PDF "Text State Parameters and Operators" lists nine parameters that can be set when writing text.</p> + * <ul> + * <li>"Character spacing" is handled by {@link CharacterTraitsTa#traitLetterSpacing()}.</li> + * <li>"Word spacing" is handled by {@link CharacterTraitsTa#traitWordSpacing()}.</li> + * <li>"Horizontal scaling" is handled by {@link CharacterTraitsTa#getIpdScaling()}.</li> + * <li>"Leading" is specifically handled by other areas, specifically those that stack the line areas of which this + * glyph-area sequence might be a part.</li> + * <li>"Text font" is handled by {@link NominalFontTa#traitNominalFont()}.</li> + * <li>"Text font size" is handled by {@link FontSizeTa#traitFontSize()}.</li> + * <li>"Text rendering mode" handles how glyphs are stroked and filled and clipped. + * XSL-FO only considers that text will be filled, so we do not consider this parameter.</li> + * <li>"Text rise" has to do with temporary positioning for items like subscripts and superscripts. + * This is handled by the method {@link GeneralInlineAreaG5#baselineY()}.</li> + * <li>"Text knockout" is a relatively esoteric concept that doesn't map to anything in XSL-FO and is therefore not + * supported.</li> + * </ul> + * + * <p>The order in which these parameters is applied is significant. + * Again, we will follow the PDF model:</p> + * <ol> + * <li>Conceptually, font-size is applied to everything for purposes of scaling both block-progression-dimension and + * inline-progression-dimension. + * Then any "horizontal scaling" is applied, but only to the inline-progression-dimension.</li> + * <li>Character spacing and word spacing are provided in text-space units. + * In other words, when computing their actual size, the font-size must first be applied, then any ipd stretching. + * For example, word spacing of 20 at 12 points and 100% stretch would result in 240 millipoints. + * If a stretch of 105% were applied, the result would be 240 * 1.05 = 252 millipoints. + * Stated another way, character spacing and word spacing are both affected by the horizontal scaling.</li> + * </ol> + * + * @see "PDF Reference, Sixth Edition (PDF Format Version 1.7), Section 5.2, Text State Parameters and Operators." */ public interface GlyphAreaSequenceG5 extends GeneralInlineAreaG5, NominalFontTa, Modified: trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/trait/CharacterTraitsTa.java =================================================================== --- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/trait/CharacterTraitsTa.java 2023-01-14 15:46:15 UTC (rev 2687) +++ trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/trait/CharacterTraitsTa.java 2023-01-18 19:02:02 UTC (rev 2688) @@ -23,22 +23,46 @@ package org.axsl.galley.trait; +import java.math.BigDecimal; + /** * Accessor for the character traits. */ public interface CharacterTraitsTa { + /** The default inline-progression-dimension scaling factor. */ + BigDecimal DEFAULT_IPD_SCALING = new BigDecimal("100"); + /** - * The "letter-spacing" trait for this area. - * @return The letter-spacing, in millipoints. + * The "letter-spacing" trait for this area, i.e. the extra space between glyphs in a word. + * @return The letter-spacing, in thousandths of a text-space unit. + * To convert the returned value to millipoints, multiply by the font-size. + * For example, letter-spacing of 20 at 13 points would be 260 millipoints. */ - int traitLetterSpacing(); + default int traitLetterSpacing() { + return 0; + } /** - * The "word-spacing" trait for this area, i.e. the extra size that should be added to the width of the space - * character. - * @return Returns the amount of word-spacing, in millipoints. + * The "word-spacing" trait for this area, i.e. the extra space to be added between words, or added to the width of + * the space character. + * @return Returns the amount of word-spacing, in thousandths of a text-space unit. + * To convert the returned value to millipoints, multiply by the font-size. + * For example, word-spacing of -3 at 12 points would -36 millipoints. */ - int traitWordSpacing(); + default int traitWordSpacing() { + return 0; + } + /** + * Returns the scaling percentage to be applied to the inline-progression-dimension for this area. + * A factor of 100% indicates that no scaling should be done. + * This does not map directly to an XSL-FO trait, but is used for cases where font-stretch is simulated, or where + * the ipd of the font characters themselves has been adjusted as part of the line-breaking logic. + * @return The scaling percentage to be applied to the inline-progression-dimension for this area. + */ + default BigDecimal getIpdScaling() { + return DEFAULT_IPD_SCALING; + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-14 15:46:17
|
Revision: 2687 http://sourceforge.net/p/axsl/code/2687 Author: victormote Date: 2023-01-14 15:46:15 +0000 (Sat, 14 Jan 2023) Log Message: ----------- Move FO boilerplate code to axsl-fotree test fixture to maximize reuse. Modified Paths: -------------- trunk/axsl/axsl-fotree/build.gradle Added Paths: ----------- trunk/axsl/axsl-fotree/src/testFixtures/ trunk/axsl/axsl-fotree/src/testFixtures/java/ trunk/axsl/axsl-fotree/src/testFixtures/java/org/ trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/ trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/fotree/ trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/fotree/fixture/ trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/fotree/fixture/FoTreeBoilerplate.java Modified: trunk/axsl/axsl-fotree/build.gradle =================================================================== --- trunk/axsl/axsl-fotree/build.gradle 2023-01-14 14:05:21 UTC (rev 2686) +++ trunk/axsl/axsl-fotree/build.gradle 2023-01-14 15:46:15 UTC (rev 2687) @@ -1,5 +1,6 @@ plugins { id 'axsl.library-conventions' + id 'axsl.test-fixtures-conventions' } description = "axsl-fotree" Added: trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/fotree/fixture/FoTreeBoilerplate.java =================================================================== --- trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/fotree/fixture/FoTreeBoilerplate.java (rev 0) +++ trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/fotree/fixture/FoTreeBoilerplate.java 2023-01-14 15:46:15 UTC (rev 2687) @@ -0,0 +1,65 @@ +/* + * Copyright 2023 The aXSL Project. + * http://www.axsl.org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $LastChangedRevision$ + * $LastChangedDate$ + * $LastChangedBy$ + */ + +package org.axsl.fotree.fixture; + +/** + * Boilerplate code used to create FO documents in tests. + */ +public final class FoTreeBoilerplate { + + /** Boilerplate bare-minimum start of an XSL-FO document. Used by test classes to create a full document for + * testing. */ + public static final String MINIMUM_PROLOG = + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + + "<fo:root xmlns:fo=\"http://www.w3.org/1999/XSL/Format\" xml:lang=\"eng-US\">\n" + + "<fo:layout-master-set>\n" + + " <fo:simple-page-master\n" + + " master-name=\"simplePM\"\n" + + " page-height=\"11in\"\n" + + " page-width=\"8.5in\"\n" + + " margin-top=\"1in\"\n" + + " margin-bottom=\".75in\"\n" + + " margin-left=\".75in\"\n" + + " margin-right=\".75in\">\n" + + " <fo:region-before extent=\"1in\"/>\n" + + " <fo:region-body margin-top=\"1in\" margin-bottom=\"1in\"/>\n" + + " <fo:region-after extent=\"1in\"/>\n" + + " </fo:simple-page-master>\n" + + "</fo:layout-master-set>\n" + + "\n" + + "<fo:page-sequence master-reference=\"simplePM\">\n"; + + + /** Boilerplate bare-minimum end of an XSL-FO document. Used by test classes to create a full document for + * testing. */ + public static final String MINIMUM_EPILOG = + "</fo:page-sequence>\n" + + "</fo:root>\n"; + + /** + * Private constructor. This is a utility class that should never be instantiated. + */ + private FoTreeBoilerplate() { } + +} Property changes on: trunk/axsl/axsl-fotree/src/testFixtures/java/org/axsl/fotree/fixture/FoTreeBoilerplate.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-14 14:05:23
|
Revision: 2686 http://sourceforge.net/p/axsl/code/2686 Author: victormote Date: 2023-01-14 14:05:21 +0000 (Sat, 14 Jan 2023) Log Message: ----------- Add method returning a depth-first preorder traversal iterator over an AreaNode and it descendants. Modified Paths: -------------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java Added Paths: ----------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNodePreorderIterator.java Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java 2023-01-13 18:58:06 UTC (rev 2685) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java 2023-01-14 14:05:21 UTC (rev 2686) @@ -28,6 +28,8 @@ import org.axsl.fotree.FoContext; import org.axsl.galley.AreaNodeG5; +import java.util.Iterator; + /** * Super-interface for all AreaTree content. */ @@ -41,6 +43,15 @@ AreaNode areaChildAt(int childIndex); /** + * Returns a depth-first, preorder traversal iterator over this node and its descendants. + * In preorder traversal, the node is visited first, then its children from first to last. + * @return A depth-first, preorder traversal iterator over this node and its descendants. + */ + default Iterator<AreaNode> getPreorderIterator() { + return new AreaNodePreorderIterator(this); + } + + /** * Returns this node's nearest ancestor Area. * @return This node's nearest ancestor Area, or null if this node has no parent, or if there is no Area in its * ancestry. Added: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNodePreorderIterator.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNodePreorderIterator.java (rev 0) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNodePreorderIterator.java 2023-01-14 14:05:21 UTC (rev 2686) @@ -0,0 +1,70 @@ +/* + * Copyright 2023 The aXSL Project. + * http://www.axsl.org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $LastChangedRevision$ + * $LastChangedDate$ + * $LastChangedBy$ + */ + +package org.axsl.area; + +import java.util.Iterator; +import java.util.NoSuchElementException; +import java.util.Stack; + +/** + * A depth-first iterator over a branch of an area tree, using preorder traversal. + * For each level of the tree, the root is visited first, then the children in order from the left-most branch to the + * right-most branch. + * This class is probably used mostly for testing. + */ +public class AreaNodePreorderIterator implements Iterator<AreaNode> { + + /** The current stack of nodes being traversed. */ + private Stack<AreaNode> nodeStack = new Stack<AreaNode>(); + + /** + * Constructor. + * @param root The root of the branch whose descendants are being iterated. + */ + public AreaNodePreorderIterator(final AreaNode root) { + nodeStack.push(root); + } + + @Override + public boolean hasNext() { + return ! nodeStack.isEmpty(); + } + + @Override + public AreaNode next() { + if (nodeStack.isEmpty()) { + throw new NoSuchElementException(); + } + + final AreaNode nextNode = this.nodeStack.pop(); + /* Load the stack from last (right-most) to first (left-most) so that the first (left-most) is at the top of the + * stack when done loading. */ + for (int index = nextNode.qtyAreaChildren() - 1; index > -1; index --) { + nodeStack.push(nextNode.areaChildAt(index)); + } + + return nextNode; + } + +} Property changes on: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNodePreorderIterator.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-13 18:58:09
|
Revision: 2685 http://sourceforge.net/p/axsl/code/2685 Author: victormote Date: 2023-01-13 18:58:06 +0000 (Fri, 13 Jan 2023) Log Message: ----------- Shorten names of Area tree child iteration methods. Modified Paths: -------------- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/MainRa.java trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/PageCollection.java trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/SpanRa.java trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/AreaNodeG5.java trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/Galley.java trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/PageCollectionG5.java trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/metadata/BookmarkParentG5.java Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaNode.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -38,7 +38,7 @@ AreaNode getParent(); @Override - AreaNode areaNodeChildAt(int childIndex); + AreaNode areaChildAt(int childIndex); /** * Returns this node's nearest ancestor Area. Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/AreaTree.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -59,7 +59,7 @@ Root traitGeneratedBy(); @Override - PageCollection areaNodeChildAt(int childIndex); + PageCollection areaChildAt(int childIndex); /** * Client applications (applications that are pushing content into the Area Tree) should run this method to notify Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/MainRa.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/MainRa.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/MainRa.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -35,7 +35,7 @@ RegionBodyRa getParent(); @Override - SpanRa areaNodeChildAt(int index); + SpanRa areaChildAt(int index); /** * Indicates whether adding a new object to this main-reference area will require any balancing work. Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/PageCollection.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/PageCollection.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/PageCollection.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -36,7 +36,7 @@ AreaTree getParent(); @Override - PageRa areaNodeChildAt(int childIndex); + PageRa areaChildAt(int childIndex); /** * Enumeration of possible "force" values when creating new pages. Modified: trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/SpanRa.java =================================================================== --- trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/SpanRa.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-areatree/src/main/java/org/axsl/area/SpanRa.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -34,6 +34,6 @@ MainRa getParent(); @Override - NormalFlowRa areaNodeChildAt(int index); + NormalFlowRa areaChildAt(int index); } Modified: trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/AreaNodeG5.java =================================================================== --- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/AreaNodeG5.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/AreaNodeG5.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -43,7 +43,7 @@ * Returns the number of children of this. * @return The number of children. */ - int qtyAreaNodeChildren(); + int qtyAreaChildren(); /** * Returns the child at a given index. @@ -50,7 +50,7 @@ * @param childIndex The index of the child that should be returned. * @return The child at {@code childIndex}. */ - AreaNodeG5 areaNodeChildAt(int childIndex); + AreaNodeG5 areaChildAt(int childIndex); /** * Provides a name suitable for display purposes, but specifically intended Modified: trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/Galley.java =================================================================== --- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/Galley.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/Galley.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -38,7 +38,7 @@ * method, also has metadata (non-content) child branches {@link #getMetadata()} and {@link #getBookmarkTree()}</p>. */ @Override - PageCollectionG5 areaNodeChildAt(int childIndex); + PageCollectionG5 areaChildAt(int childIndex); /** * Returns the document-level metadata (title, author, etc.). Modified: trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/PageCollectionG5.java =================================================================== --- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/PageCollectionG5.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/PageCollectionG5.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -35,7 +35,7 @@ Galley getParent(); @Override - PageG5 areaNodeChildAt(int childIndex); + PageG5 areaChildAt(int childIndex); /** * Returns the factors used to format the page numbers for this page collection. Modified: trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/metadata/BookmarkParentG5.java =================================================================== --- trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/metadata/BookmarkParentG5.java 2023-01-13 18:28:37 UTC (rev 2684) +++ trunk/axsl/axsl-galley/src/main/java/org/axsl/galley/metadata/BookmarkParentG5.java 2023-01-13 18:58:06 UTC (rev 2685) @@ -31,6 +31,6 @@ public interface BookmarkParentG5 extends AreaNodeG5 { @Override - BookmarkG5 areaNodeChildAt(int childIndex); + BookmarkG5 areaChildAt(int childIndex); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <vic...@us...> - 2023-01-13 18:28:41
|
Revision: 2684 http://sourceforge.net/p/axsl/code/2684 Author: victormote Date: 2023-01-13 18:28:37 +0000 (Fri, 13 Jan 2023) Log Message: ----------- Shorten names of FO tree child iteration methods. Modified Paths: -------------- trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/Fo.java trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowMap.java trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowSourceList.java trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowTargetList.java trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/RepeatablePageMasterAlternatives.java Modified: trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/Fo.java =================================================================== --- trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/Fo.java 2023-01-10 01:14:55 UTC (rev 2683) +++ trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/Fo.java 2023-01-13 18:28:37 UTC (rev 2684) @@ -46,7 +46,7 @@ * Returns the number of children of this. * @return The number of children. */ - int qtyFormattingObjectChildren(); + int qtyFoChildren(); /** * Returns the child at a given index. @@ -53,7 +53,7 @@ * @param childIndex The index of the child that should be returned. * @return The child at {@code childIndex}. */ - Fo formattingObjectChildAt(int childIndex); + Fo foChildAt(int childIndex); /** * Returns the index of a given node in the children of this. Modified: trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowMap.java =================================================================== --- trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowMap.java 2023-01-10 01:14:55 UTC (rev 2683) +++ trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowMap.java 2023-01-13 18:28:37 UTC (rev 2684) @@ -34,6 +34,6 @@ FlowMapNamePa { @Override - FlowAssignment formattingObjectChildAt(int childIndex); + FlowAssignment foChildAt(int childIndex); } Modified: trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowSourceList.java =================================================================== --- trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowSourceList.java 2023-01-10 01:14:55 UTC (rev 2683) +++ trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowSourceList.java 2023-01-13 18:28:37 UTC (rev 2684) @@ -32,6 +32,6 @@ public interface FlowSourceList extends Fo { @Override - FlowNameSpecifier formattingObjectChildAt(int childIndex); + FlowNameSpecifier foChildAt(int childIndex); } Modified: trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowTargetList.java =================================================================== --- trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowTargetList.java 2023-01-10 01:14:55 UTC (rev 2683) +++ trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/FlowTargetList.java 2023-01-13 18:28:37 UTC (rev 2684) @@ -32,6 +32,6 @@ public interface FlowTargetList extends Fo { @Override - RegionNameSpecifier formattingObjectChildAt(int childIndex); + RegionNameSpecifier foChildAt(int childIndex); } Modified: trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/RepeatablePageMasterAlternatives.java =================================================================== --- trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/RepeatablePageMasterAlternatives.java 2023-01-10 01:14:55 UTC (rev 2683) +++ trunk/axsl/axsl-fotree/src/main/java/org/axsl/fotree/fo/RepeatablePageMasterAlternatives.java 2023-01-13 18:28:37 UTC (rev 2684) @@ -34,6 +34,6 @@ MaximumRepeatsPa { @Override - ConditionalPageMasterReference formattingObjectChildAt(int index); + ConditionalPageMasterReference foChildAt(int index); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |