Git Product home page Git Product logo

dart_bidi's Introduction

Mahdi K. Fard

Hello 👋,

  • 🔭 I’m currently working on Map and Wallet.
  • 🌱 I’m currently learning guitar 🎸 and quantum physics 👨‍🔬.
  • 👯 I’m looking to collaborate on .NET and Flutter.
  • 🤔 I build on .NET, gRPC, Flutter, MongoDb/SurrealDb, Ubuntu, GitHub Actions and Azure stack.
  • 💬 Ask me about anything you think i can help you with.
  • 📫 How to reach me: @mahkfard.

Projects

Name Language Link
gRPC UI Flutter https://github.com/grpcui/grpcui
Web3dart Flutter https://github.com/xclud/web3dart
Map Flutter https://github.com/xclud/flutter_map
Crop Flutter https://github.com/xclud/flutter_crop
Wallet Dart https://github.com/xclud/dart_wallet
Bidi Dart https://github.com/xclud/dart_bidi

Skills

Stats

GitHub stats

dart_bidi's People

Contributors

milad-akarie avatar xclud avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

davbfr vertex-ly

dart_bidi's Issues

Using Arabic letters basic from in favor of isolated form

Hey, @xclud
context: There are two letter forms in Arabic that render exactly the same, the basic form and the isolated form.

Notices how the following Arabic letter LAM has the same glyph for both basic and isolated form.
image

currently, the algorithm maps to the isolated form which might be the right thing to do but unfortunately Arabic Google fonts seem to have a problem with this, this issue can be fixed by always mapping to the basic form when an isolated form is required.

even dart seems to work with the basic form in such cases

 final letter = 'ل';
 print(letter.codeUnits); // prints [1604]
 print(bidi.logicalToVisual(letter)); // prints [65245]

I'm willing the make a PR, but do you think we should introduce this change as an optional change or just hard-code it?

P.s I'll be changing the mappings inside of shapping_resolver._charForms

Null safety

Hi, any plans to convert this code to null-safe?

[Bug] When Arabic letter has a HAMZA-form reshaping throws an error

first of all, thank you for this great package.
I've noticed that when a letter of the sentence has a HAMZA an error occurs.
I think the problem is letters with Hamza should be reshaped not decomposed into a base letter and a diacritic.

All of these throw an out of range error

  bidi.logicalToVisual('أ');
  bidi.logicalToVisual('إ');
  bidi.logicalToVisual('ؤ');
  bidi.logicalToVisual('ئ');

stacktrace

RangeError (index): Invalid value: Only valid value is 0: 1
dart:core                               List.[]
package:bidi/src/paragraph.dart 752:24  Paragraph.internalCompose
package:bidi/src/paragraph.dart 113:5   Paragraph.normalizeText
package:bidi/src/paragraph.dart 42:5    Paragraph.text=
package:bidi/src/paragraph.dart 13:10   new Paragraph
package:bidi/src/bidi.dart 73:13        splitStringToParagraphs
package:bidi/src/bidi.dart 9:16         logicalToVisual
test/arabic_test.dart 40:8              main

these don't throw an error but the result is incorrect

  bidi.logicalToVisual('خطأ');
  bidi.logicalToVisual('كؤ');
  bidi.logicalToVisual('مئ');

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.