myanmar_tools 0.0.2 myanmar_tools: ^0.0.2 copied to clipboard
Myanmar Tools for Flutter. This Myanmar Tools library is ported from google myanmar-tools project(java)
import 'package:flutter/material.dart';
import 'package:myanmar_tools/myanmar_tools.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Myanmar Tools Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage());
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key}) : super(key: key);
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final ZawGyiConverter converter = ZawGyiConverter();
ZawGyiDetector? detector;
String checkText = "";
final _textController = TextEditingController();
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
width: 200,
height: 80,
child: TextField(
textAlign: TextAlign.left,
controller: _textController,
decoration: const InputDecoration(
hintText: 'Enter Something',
contentPadding: EdgeInsets.all(20.0),
),
),
),
SizedBox(
width: 250,
height: 50,
child: Text(checkText),
),
Row(
children: [
TextButton(
onPressed: () {
_textController.text =
converter.zawGyiToUnicode(_textController.text);
setState(() {});
},
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all<Color>(Colors.blue),
foregroundColor:
MaterialStateProperty.all<Color>(Colors.white)),
child: const Text('Convert to Unicode'),
),
const SizedBox(
width: 50,
),
TextButton(
onPressed: () {
_textController.text =
converter.unicodeToZawGyi(_textController.text);
setState(() {});
},
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all<Color>(Colors.blue),
foregroundColor:
MaterialStateProperty.all<Color>(Colors.white)),
child: const Text('Convert to Zawgyi'),
),
const SizedBox(
width: 50,
),
TextButton(
onPressed: () async {
detector ??= await ZawGyiDetector.create();
var zawPossible =
detector!.getZawGyiProbability(_textController.text);
if (zawPossible == double.negativeInfinity) {
checkText = 'No Myanmar Text detected';
} else if (zawPossible < 0.05) {
checkText = 'Unicode Only';
} else {
checkText = 'Zawgyi';
}
setState(() {});
},
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all<Color>(Colors.blue),
foregroundColor:
MaterialStateProperty.all<Color>(Colors.white)),
child: const Text('Check Zawgyi Probability'),
),
],
)
],
),
);
}
}