Mamasodikov / cosmos_epub

EPUB reader package with great UI, easy customization and awesome features
https://pub.dev/packages/cosmos_epub
BSD 3-Clause "New" or "Revised" License
6 stars 3 forks source link

Can't open *some* Perso-arabic script EPUB #1

Open Mamasodikov opened 1 month ago

Mamasodikov commented 1 month ago

Package ver: cosmos_epub: ^0.0.1+3

Flutter doctor:

[✓] Flutter (Channel stable, 3.13.1, on macOS 14.2.1 23C71 darwin-arm64, locale en-UZ)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] VS Code (version 1.88.1)
E/flutter (20393): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Invalid argument(s): Illegal percent encoding in URI
E/flutter (20393): #0      _Uri._uriDecode (dart:core/uri.dart:3064:11)
E/flutter (20393): #1      Uri.decodeFull (dart:core/uri.dart:1302:17)
E/flutter (20393): #2      ChapterReader.getChaptersImpl (package:epubx/src/readers/chapter_reader.dart:34:29)
E/flutter (20393): #3      ChapterReader.getChapters (package:epubx/src/readers/chapter_reader.dart:11:12)
E/flutter (20393): #4      EpubBookRef.getChapters (package:epubx/src/ref_entities/epub_book_ref.dart:56:26)
E/flutter (20393): #5      EpubReader.readBook (package:epubx/src/epub_reader.dart:92:41)
E/flutter (20393): <asynchronous suspension>
E/flutter (20393): #6      CosmosEpub.openAssetBook (package:cosmos_epub/cosmos_epub.dart:64:25)
E/flutter (20393): <asynchronous suspension>
E/flutter (20393): #7      _MyHomePageState._openEpubReader (package:cosmos_epub_example/main.dart:51:5)
E/flutter (20393): <asynchronous suspension>

Error is coming from EPUBX package.

The file: book.epub.zip

Mamasodikov commented 1 month ago

I can't open attached book even in Books (Mac native application) But I can open book_RTL.epub in mac with 5-6 sec delay. It strrugles. I opened zak_LTR.epub without any problem in both viewers. I guess some books are broken or malformatted. Maybe for they are formatted RTL (Right to LEFT)

Books: books-LTR-and-RTL.zip

MohammadMhadiTabatabaie commented 1 month ago

Hello, the problem was with the original structure of the epub file

Mamasodikov commented 3 weeks ago

Hello, the problem was with the original structure of the epub file

Oh, I see, Anyways I should handle these exceptions.

2803404074 commented 2 weeks ago

软件包版本:cosmos_epub:^0.0.1+3

颤振医生:

[✓] Flutter (Channel stable, 3.13.1, on macOS 14.2.1 23C71 darwin-arm64, locale en-UZ)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] VS Code (version 1.88.1)
E/flutter (20393): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Invalid argument(s): Illegal percent encoding in URI
E/flutter (20393): #0      _Uri._uriDecode (dart:core/uri.dart:3064:11)
E/flutter (20393): #1      Uri.decodeFull (dart:core/uri.dart:1302:17)
E/flutter (20393): #2      ChapterReader.getChaptersImpl (package:epubx/src/readers/chapter_reader.dart:34:29)
E/flutter (20393): #3      ChapterReader.getChapters (package:epubx/src/readers/chapter_reader.dart:11:12)
E/flutter (20393): #4      EpubBookRef.getChapters (package:epubx/src/ref_entities/epub_book_ref.dart:56:26)
E/flutter (20393): #5      EpubReader.readBook (package:epubx/src/epub_reader.dart:92:41)
E/flutter (20393): <asynchronous suspension>
E/flutter (20393): #6      CosmosEpub.openAssetBook (package:cosmos_epub/cosmos_epub.dart:64:25)
E/flutter (20393): <asynchronous suspension>
E/flutter (20393): #7      _MyHomePageState._openEpubReader (package:cosmos_epub_example/main.dart:51:5)
E/flutter (20393): <asynchronous suspension>

错误来自 EPUBX 包。

文件: book.epub.zip

I also encountered the same problem. Have you solved it