handwriting alternatives and similar packages
Based on the "Networking" category.
Alternatively, view handwriting alternatives based on common mentions on social networks and blogs.
-
websockets
A Haskell library for creating WebSocket-capable servers -
snap-core
Core type definitions (Snap monad, HTTP types, etc) and utilities for web handlers. -
snap-server
A fast HTTP server library, which runs Snap web handlers. -
call-haskell-from-anything
Call Haskell functions from any programming language via serialization and dynamic libraries -
PortFusion
Haskell-powered cross-platform transport-layer distributed reverse / forward proxy & tunneling solution – currently available for all TCP protocols (RDP, VNC, HTTP(S), SSH, ...). -
network-transport-zeromq
ZeroMQ transport for distributed-process (aka Cloud Haskell) -
io-streams
Simple, composable, and easy-to-use stream I/O for Haskell -
glirc
Haskell IRC library and console client - Join us on libera.chat #glirc -
HaskellNet
Haskell library which provides client support for POP3, SMTP, and IMAP protocols. -
http-streams
Haskell HTTP client library for use with io-streams -
graphula
A simple interface for generating persistent data and linking its dependencies -
ngx-export
Nginx module for binding Haskell code in configuration files for great good! -
http-types
Generic HTTP types for Haskell (for both client and server code) -
secure-sockets
A library for making secure connections between servers. -
network-transport-tcp
TCP Realisation of Network.Transport -
linklater
A Haskell library for the Slack API (including real-time messaging!) -
http-client-streams
http-client for io-streams supporting openssl
Build time-series-based applications quickly and at scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of handwriting or a related project?
README
handwriting-haskell
API Client for the handwriting.io API.
handwriting.io provides an API that generates automatically generates handwritten text.
To use this API, you'll need to get a KEY and SECRET from here.
Endpoints
/handwritings
/handwritings/{id}
/render/pdf
/render/png
Usage
/handwritings
import Network.Handwriting
creds :: Credentials
creds = Credentials "key" "secret"
main :: IO ()
main = do
handwritings <- getHandwritings creds
/handwritings/{id}
import Network.Handwriting
creds :: Credentials
creds = Credentials "key" "secret"
main :: IO ()
main = do
handwriting <- getHandwriting creds "31SF81NG00ES"
/render/png
import Network.Handwriting
creds :: Credentials
creds = Credentials "key" "secret"
main :: IO ()
main = do
imageByteString <- renderImage creds defaultImageParams "Hello World!"
/render/pdf
import Network.Handwriting
creds :: Credentials
creds = Credentials "key" "secret"
main :: IO ()
main = do
let params = defaultImageParams { format = PDF }
imageByteString <- renderImage creds params "Hello World!"
Optional Parameters
The optional image paramters data type is show below:
data ImageParams = ImageParams {
format :: Format -- PNG | PDF
, width :: Maybe Double -- Units are Pixels for PNG and Inches or Points for PDF
, height :: Maybe Double
, hId :: Maybe String -- ID of the handwriting style selected
, size :: Maybe Double -- Handwriting size. Pixels for PNG, Inches or Points for PDF
, color :: Maybe Color -- RGB -> (0-255, 0-255, 0-255)
, lineSpacing :: Maybe Double -- Spacing between lines of handwriting. Between 0 and 5
, lineSpacingVariance :: Maybe Double -- Randomizes line spacing, 0 - 1
, wordSpacingVariance :: Maybe Double -- Randomizes word spacing, 0 - 1
, randomSeed :: RandomSeed -- Randomize : (image for same text is DIFFERENT on every call)
-- Repeatable : (image for same text is the SAME on every call)
, pdfUnits :: PDFUnits -- Inches | Points
} deriving (Show)
Optional Parameter Examples
600px x 800px png with red text:
import Network.Handwriting
creds :: Credentials
creds = Credentials "key" "secret"
main :: IO ()
main = do
let params = defaultImageParams { width = Just 800
, height = Just 600
, color = Just (255,0,0)
}
imageByteString <- renderImage creds params "Hello World!"
8.5 inches x 11 inches PDF with blue text:
import Network.Handwriting
creds :: Credentials
creds = Credentials "key" "secret"
main :: IO ()
main = do
let params = defaultImageParams { width = Just 8.5
, height = Just 11
, color = Just (0,0,255)
, pdfUnits = Inches
}
imageByteString <- renderImage creds params "Hello World!"