Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Eliminate redundant diacritics, fix broken images

AuthorDaveJarvis <email>
Date2023-02-01 00:33:26 GMT-0800
Commit8e73fd2873a209fc8462d4ffbccaa93f91f13081
Parent166563d
src/main/java/com/keenwrite/preview/SvgReplacedElementFactory.java
else if( MediaType.fromFilename( source ).isSvg() ) {
// Attempt to rasterize based on file name.
- final var path = new File( source ).toPath();
+ final var srcUri = new URI( source ).getPath();
+ final var path = Path.of( new File( srcUri ).getCanonicalPath() );
if( path.isAbsolute() ) {
src/main/java/com/keenwrite/ui/dialogs/ExportDialog.java
import com.keenwrite.events.ExportFailedEvent;
+import com.keenwrite.util.Diacritics;
import com.keenwrite.util.FileWalker;
import com.keenwrite.util.RangeValidator;
import static java.lang.Math.max;
import static java.nio.charset.StandardCharsets.UTF_8;
-import static java.text.Normalizer.Form.NFKD;
-import static java.text.Normalizer.normalize;
import static javafx.application.Platform.runLater;
import static javafx.geometry.Pos.CENTER;
*/
public final class ExportDialog extends AbstractDialog<ExportSettings> {
- private static final String UNCRITIC = "\\p{InCombiningDiacriticalMarks}+";
-
private record Theme( Path path, String name ) implements Comparable<Theme> {
/**
*/
public boolean matches( final String themeDir ) {
- final var normalized = normalize( themeDir, NFKD );
- final var name = normalized.replaceAll( UNCRITIC, "" );
final var path = path().getFileName().toString();
- return path.equalsIgnoreCase( name );
+ return path.equalsIgnoreCase( Diacritics.remove( themeDir ) );
}
Delta4 lines added, 8 lines removed, 4-line decrease