diff --git a/App.js b/App.js
index f5b629d..db8a807 100644
--- a/App.js
+++ b/App.js
@@ -1,11 +1,13 @@
-import React from 'react';
-import { View} from 'react-native';
+import React, { Component } from 'react';
+import { View, TouchableOpacity, Image } from 'react-native';
import SignIn from './app/components/SignIn';
import Register from './app/components/Register';
import ChatScreen from './app/components/MainScreen/ChatScreen';
+import AllUsers from './app/components/MainScreen/AllUsers';
+import FriendRequest from './app/components/MainScreen/FriendRequest';
import {createAppContainer} from 'react-navigation';
-import {createDrawerNavigator} from 'react-navigation-drawer';
import {createStackNavigator} from 'react-navigation-stack';
+import {createDrawerNavigator} from 'react-navigation-drawer';
const initialState = {
route: 'signin',
@@ -18,25 +20,91 @@ const initialState = {
}
- const MainNavigator = createStackNavigator({
- Home: {
- screen: SignIn,
- navigationOptions: {
+ class NavigationDrawerStructure extends Component {
+ //Structure for the navigatin Drawer
+ toggleDrawer = () => {
+ //Props to open/close the drawer
+ this.props.navigationProps.toggleDrawer();
+ };
+ render() {
+ return (
+
+
+ {/*Donute Button Image */}
+
+
+
+ );
+ }
+ }
+
+ const InternalNavigator = createStackNavigator({
+ ChatScreen: {
+ screen: ChatScreen,
+ navigationOptions: {
header: null,
- }
+ },
},
- Profile: {
- screen: Register,
- navigationOptions: {
+ AllUsers: {
+ screen: AllUsers,
+ navigationOptions: {
header: null,
- }},
- ChatScreen: {
- screen: ChatScreen,
- navigationOptions: {
+ },
+ },
+ FriendRequest: {
+ screen: FriendRequest,
+ navigationOptions: {
header: null,
- }},
- });
+ },
+ }
+ });
+
+
+ const DrawerNavigatorExample = createDrawerNavigator({
+ ChatScreen: {
+ screen: ChatScreen,
+ navigationOptions: {
+ drawerLabel: 'ChatScreen',
+ },
+ },
+ AllUsers: {
+ screen: AllUsers,
+ navigationOptions: {
+ drawerLabel: 'AllUsers',
+ },
+ },
+ FriendRequest: {
+ screen: FriendRequest,
+ navigationOptions: {
+ drawerLabel: 'FriendRequest',
+ },
+ }
+ });
+ const MainNavigator = createStackNavigator({
+ Home: {
+ screen: SignIn,
+ navigationOptions: {
+ header: null,
+ gesturesEnabled: false
+ }
+ },
+ Profile: {
+ screen: Register,
+ navigationOptions: {
+ header: null,
+ gesturesEnabled: false
+ }},
+ DrawerNavigatorExample: {
+ screen: DrawerNavigatorExample,
+ navigationOptions: {
+ header: null,
+ gesturesEnabled: false
+ }},
+ });
const App = createAppContainer(MainNavigator);
diff --git a/app/components/MainScreen/AllUsers.js b/app/components/MainScreen/AllUsers.js
new file mode 100644
index 0000000..85e33ef
--- /dev/null
+++ b/app/components/MainScreen/AllUsers.js
@@ -0,0 +1,18 @@
+import React, { Component } from "react";
+import { FlatList, Text, View, Image, TextInput, StyleSheet,TouchableHighlight, } from "react-native";
+
+export default class AllUsers extends Component {
+
+ static navigationOptions =
+ {
+ title: 'AllUsers',
+ };
+
+ render() {
+ return (
+
+ Hello, All Users
+
+ );
+ }
+}
diff --git a/app/components/MainScreen/ChatScreen.js b/app/components/MainScreen/ChatScreen.js
index 9263878..807eb13 100644
--- a/app/components/MainScreen/ChatScreen.js
+++ b/app/components/MainScreen/ChatScreen.js
@@ -1,7 +1,12 @@
-import React, { Component } from "react";
+import React, { Component, useState } from "react";
import { FlatList, Text, View, Image, TextInput, StyleSheet,TouchableHighlight, } from "react-native";
import { Card } from "react-native-elements";
-import FriendsList from "./FriendsList"
+import { AppLoading } from 'expo';
+import SignIn from '../SignIn';
+import Register from '../Register';
+import FriendsList from './FriendsList'
+import Welcome from './Welcome'
+import {createAppContainer} from 'react-navigation';
const data = [
{
@@ -126,62 +131,134 @@ const messages = [
];
export default class ChatScreen extends Component {
+
+ static navigationOptions =
+ {
+ title: 'ChatScreen',
+ };
+
+
+
constructor(props) {
super(props);
this.state = {
- name: 'Piyush',
+ name: 'Piyush',//this.props.navigation.getParam('data', "name").name,
data: data,
- messages: messages
+ messages: messages,
+ imageURL: this.props.navigation.getParam('data', "imageURL").imageurl,
+ friendslist: this.props.navigation.getParam('friends', "friendlist"),
+ email: this.props.navigation.getParam('data', "email").email,
+ friend: {
+ name: '',
+ email: '',
+ imageURL: '',
+ status: '',
+ msgDatabase: ''
+ },
+ msgingChat: [],
+ msg:'',
+ searchfield:'',
+ searchfriends:'',
+ generallist: [],
+ branch: 'welcome',
+ test:'',
+ rqstlist: [],
+ inMsgField: ''
};
}
+
+ loadChattingUser = (loadingData) => {
+
+ this.setState({ 'msgingChat': [] });
+
+ this.setState({friend: {
+ 'name': loadingData.name,
+ 'imageURL': loadingData.imageURL,
+ 'email':loadingData.email,
+ 'msgDatabase': loadingData.msgDatabase
+ }})
+
+ var database=loadingData.msgDatabase;
+
+ fetch('https://agile-headland-13060.herokuapp.com/msges',{
+ method: 'post',
+ headers: {'Content-Type':'application/json'},
+ body:JSON.stringify({
+ database: database
+ })
+ })
+ .then(response => response.json())
+ .then(data => {
+ if(data.length !== 0){
+ this.setState({
+ msgingChat: data,
+ branch: 'chat'
+ }, () => {
+ // console.log("loadChattingUser");
+ // console.log(this.state);
+ });
+ }
+ })
+ this.setState({ 'branch': 'chat' });
+ }
+
+
render() {
+
return (
+
{
return (
+ this.loadChattingUser(rowData)}>
- {rowData.title}
+ {rowData.name.split(" ")[0]}
+
);
}}
keyExtractor={(item, index) => index}
/>
+ {this.state.branch === 'welcome'?
+ :
+
+
+
+
+ this.refs.flatList.scrollToEnd()}
+ renderItem={({ item: myData }) => {
+ return (
+
+ {myData.message}
+
+ );
+ }}
+ keyExtractor={(item, index) => index}
+ />
-
- this.refs.flatList.scrollToEnd()}
- renderItem={({ item: myData }) => {
- return (
-
- {myData.message}
-
- );
- }}
- keyExtractor={(item, index) => index}
- />
-
+
this.onClickListener('register')}>
@@ -189,8 +266,9 @@ export default class ChatScreen extends Component {
+
+ }
-
);
}
}
diff --git a/app/components/MainScreen/FriendRequest.js b/app/components/MainScreen/FriendRequest.js
new file mode 100644
index 0000000..5c82f88
--- /dev/null
+++ b/app/components/MainScreen/FriendRequest.js
@@ -0,0 +1,18 @@
+import React, { Component } from "react";
+import { FlatList, Text, View, Image, TextInput, StyleSheet,TouchableHighlight, } from "react-native";
+
+export default class FriendRequest extends Component {
+
+ static navigationOptions =
+ {
+ title: 'FriendRequest',
+ };
+
+ render() {
+ return (
+
+ Hello, FriendRequest
+
+ );
+ }
+}
diff --git a/app/components/MainScreen/Welcome.js b/app/components/MainScreen/Welcome.js
new file mode 100644
index 0000000..7e8338a
--- /dev/null
+++ b/app/components/MainScreen/Welcome.js
@@ -0,0 +1,18 @@
+import React, { Component } from "react";
+import { FlatList, Text, View, Image, TextInput, StyleSheet,TouchableHighlight, } from "react-native";
+
+export default class AllUsers extends Component {
+
+ static navigationOptions =
+ {
+ title: 'AllUsers',
+ };
+
+ render() {
+ return (
+
+ Welcome to Chatter, User
+
+ );
+ }
+}
diff --git a/app/components/SignIn.js b/app/components/SignIn.js
index 5414538..85d20c8 100644
--- a/app/components/SignIn.js
+++ b/app/components/SignIn.js
@@ -21,45 +21,48 @@ export default class SignIn extends Component {
}
onClickListener = (viewId) => {
+
if(viewId === 'register'){
- this.refs.toast.show("inside register");
- // this.props.onRouteChange('register');
+ this.refs.toast.show("Inside registerclick if statement.");
this.props.navigation.navigate('Profile', {name: 'Jane'})
}
-
- fetch('https://agile-headland-13060.herokuapp.com/signin',{
- method: 'post',
- headers: {'Content-Type':'application/json'},
- body:JSON.stringify({
- email: this.state.email,
- password: this.state.password
- })
- })
- .then(response => response.json())
- .then(data => {
- this.refs.toast.show(data.name+" response");
-
- // if(data.id){
- // fetch('https://agile-headland-13060.herokuapp.com/contacts',{
- // method: 'post',
- // headers: {'Content-Type':'application/json'},
- // body:JSON.stringify({
- // name: data.name
- // })
- // })
- // .then(result => result.json())
- // .then(friends => {
- // this.props.loadUser(data, friends);
- // this.props.onRouteChange('home');
- // })
- // .catch(err => {
- // console.log(err);
- // })
- // }
- })
- .catch(err => {
- this.refs.toast.show(err+" error");
- })
+ else if (viewId === 'signin') {
+ fetch('https://agile-headland-13060.herokuapp.com/signin',{
+ method: 'post',
+ headers: {'Content-Type':'application/json'},
+ body:JSON.stringify({
+ email: this.state.email,
+ password: this.state.password
+ })
+ })
+ .then(response => response.json())
+ .then(data => {
+ if(data.id){
+
+ this.refs.toast.show(data.name);
+ fetch('https://agile-headland-13060.herokuapp.com/contacts',{
+ method: 'post',
+ headers: {'Content-Type':'application/json'},
+ body:JSON.stringify({
+ name: data.name
+ })
+ })
+ .then(result => result.json())
+ .then(friends => {
+ this.props.navigation.navigate('DrawerNavigatorExample', {data: data, friends: friends, hello: 'hello Mr.'})
+ })
+ .catch(err => {
+ console.log(err);
+ })
+ }
+ else{
+ this.refs.toast.show(data);
+ }
+ })
+ .catch(err => {
+ this.refs.toast.show(err+" error");
+ })
+ }
}
changeActivity = () => {
@@ -115,7 +118,7 @@ export default class SignIn extends Component {
fontWeight={'bold'}
/>
- this.onClickListener('login')}>
+ this.onClickListener('signin')}>
Login
diff --git a/assets/fonts/Acme/Acme-Regular.ttf b/assets/fonts/Acme/Acme-Regular.ttf
new file mode 100644
index 0000000..a46b87c
Binary files /dev/null and b/assets/fonts/Acme/Acme-Regular.ttf differ
diff --git a/assets/fonts/Acme/OFL.txt b/assets/fonts/Acme/OFL.txt
new file mode 100644
index 0000000..9041eb5
--- /dev/null
+++ b/assets/fonts/Acme/OFL.txt
@@ -0,0 +1,94 @@
+Copyright (c) 2011, Juan Pablo del Peral (juan@huertatipografica.com.ar),
+with Reserved Font Names "Acme"
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-Bold.ttf b/assets/fonts/Josefin_Sans/JosefinSans-Bold.ttf
new file mode 100644
index 0000000..f4166a1
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-Bold.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-BoldItalic.ttf b/assets/fonts/Josefin_Sans/JosefinSans-BoldItalic.ttf
new file mode 100644
index 0000000..038d2ca
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-BoldItalic.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-Italic.ttf b/assets/fonts/Josefin_Sans/JosefinSans-Italic.ttf
new file mode 100644
index 0000000..b9e4c15
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-Italic.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-Light.ttf b/assets/fonts/Josefin_Sans/JosefinSans-Light.ttf
new file mode 100644
index 0000000..163637d
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-Light.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-LightItalic.ttf b/assets/fonts/Josefin_Sans/JosefinSans-LightItalic.ttf
new file mode 100644
index 0000000..bf98edd
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-LightItalic.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-Regular.ttf b/assets/fonts/Josefin_Sans/JosefinSans-Regular.ttf
new file mode 100644
index 0000000..292dcb0
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-Regular.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-SemiBold.ttf b/assets/fonts/Josefin_Sans/JosefinSans-SemiBold.ttf
new file mode 100644
index 0000000..1ca56c7
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-SemiBold.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-SemiBoldItalic.ttf b/assets/fonts/Josefin_Sans/JosefinSans-SemiBoldItalic.ttf
new file mode 100644
index 0000000..7dc0017
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-SemiBoldItalic.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-Thin.ttf b/assets/fonts/Josefin_Sans/JosefinSans-Thin.ttf
new file mode 100644
index 0000000..a87f524
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-Thin.ttf differ
diff --git a/assets/fonts/Josefin_Sans/JosefinSans-ThinItalic.ttf b/assets/fonts/Josefin_Sans/JosefinSans-ThinItalic.ttf
new file mode 100644
index 0000000..eab226e
Binary files /dev/null and b/assets/fonts/Josefin_Sans/JosefinSans-ThinItalic.ttf differ
diff --git a/assets/fonts/Josefin_Sans/OFL.txt b/assets/fonts/Josefin_Sans/OFL.txt
new file mode 100644
index 0000000..6586a7e
--- /dev/null
+++ b/assets/fonts/Josefin_Sans/OFL.txt
@@ -0,0 +1,93 @@
+Copyright (c) 2010, Santiago Orozco (hi@typemade.mx)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/assets/fonts/Lilita_One/LilitaOne-Regular.ttf b/assets/fonts/Lilita_One/LilitaOne-Regular.ttf
new file mode 100644
index 0000000..53a0eb4
Binary files /dev/null and b/assets/fonts/Lilita_One/LilitaOne-Regular.ttf differ
diff --git a/assets/fonts/Lilita_One/OFL.txt b/assets/fonts/Lilita_One/OFL.txt
new file mode 100644
index 0000000..4597dd9
--- /dev/null
+++ b/assets/fonts/Lilita_One/OFL.txt
@@ -0,0 +1,94 @@
+Copyright (c) 2011 Juan Montoreano (juan@remolacha.biz),
+with Reserved Font Name Lilita
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.