I hereby claim:
- I am raffazizzi on github.
- I am raffazizzi (https://keybase.io/raffazizzi) on keybase.
- I have a public key whose fingerprint is 32DC 2F75 D974 EF3C 7D23 E17E F04E B9EA 202C 4AC3
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
import sbt._ | |
import Keys._ | |
object Scalanvas extends Build { | |
lazy val util: Project = Project( | |
id = "util", | |
base = file("util"), | |
settings = commonSettings ++ Seq( | |
libraryDependencies ++= Seq( | |
"org.scalaz" %% "scalaz-concurrent" % "7.0.6", |
<div type="div3" xml:id="CORS2"><head>Creating New Reference Systems</head> | |
<p>If a text has no canonical reference system of its own, a new custom reference | |
system may be used.</p> | |
<p>The global attributes <att>n</att> and <att>xml:id</att> may be used to | |
assign reference identifiers to segments of the text. Identifiers | |
specified by either attribute apply to the entire element for which they | |
are given. ID attributes must be unique within a single | |
document, and ID values must begin with a letter. No such restrictions | |
are made on the values of <att>n</att> attributes. |
start ::= "start" | |
startOrEnd ::= "start" | "end" | |
all ::= "all" | |
measure ::= integer | |
measureRange ::= {measure | startOrEnd | all / ","} | {measure | start, "-", measure | end / ","} | |
staff ::= integer | |
staffRange ::= {staff | startOrEnd | all / "+"} | {staff | start, "-", staff | end / "+"} | |
stavesToMeasure ::= {staffRange / ","} | |
beat ::= float | |
beatRange ::= {"@", beat | startOrEnd | all / "+"} | {"@", beat | start, "-", beat | end / "+"} |
<div type="div2" xml:id="VESA"> | |
<head>Encoding Textual Structures Across Verses</head> | |
<p>It is possible that certain textual structures may span multiple lines of verse, either by | |
incorporating more than one, or by crossing line hierarchy. This is common, | |
for example, when lines contain reported thought or speech (i.e. <gi>said</gi>), | |
or other forms of quotation (i.e. <gi>q</gi>). For these cases, it is recommended practice | |
to fragment and reconstruct the elements representing the textual structures. | |
</p> | |
<p>The following example from Margaret Cavendish's <title>Nature's Pictures</title> shows speech | |
encoded across two lines reconstructed by chaining elements with <att>prev</att> and |
<elementSpec ident="ornament" module="MEI.cmnOrnaments"> | |
<desc>An element indicating an ornament that is not a mordent, turn, or trill. | |
</desc> | |
<classes> | |
<memberOf key="att.common"/> | |
<memberOf key="att.facsimile"/> | |
<memberOf key="att.ornament.log"/> | |
<memberOf key="att.ornament.vis"/> | |
<memberOf key="att.ornament.ges"/> | |
<memberOf key="att.ornament.anl"/> |
This page shows a live example of extensions to the projects VexFlow (a music rendering JavaScript library) and MEItoVexFlow (a JS program to render MEI scores using VexFlow).
Most of the extension work is focusing on MEItoVexFlow to extend the support of MEI elements (I have been the main development since November 2011). Such as the repetition signs with multiple endings in the example above.
Changes to VexFlow include support for lyrics, musica ficta and crescendo / diminuendo signs. MIT's music analysis library Music21 uses my latest build for in-browser music display.
The Integrating Digital Papyrology was an international project that joined together several databases of (mainly) Greek papyri; converted them to Epidoc, a fully conformant TEI P5 flavour. It formed the basis of the editorial project papyri.info.
The source databases had many differences not only in the way the data was structured, but also in the representation of ancient Greek alphabet and editorial intervention. A number of tools were created by the project team (I contributed to the development of some of the tools as well) and I wrote the Python script below to "run" all the programs according to parametrized requirements.
Some of the programs called are XSLTs, which are passed to one Saxon instance through a socket (instead of opening and closing Saxon at every transformation).
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
.brush .extent { | |
stroke: gray; | |
fill: blue; | |
fill-opacity: .165; | |
} |
Template: | |
<resource> a ore:Aggregation, rdf:List, sc:TextAnnotationList ; | |
ore:isDescribedBy <external-URL> . | |
<external-URL> a ore:ResourceMap . | |
<manifest1> ore:aggregates <resource> . | |
JSON for <resource>: | |
"_:UUID": { |