From: Petter Reinholdtsen Date: Fri, 16 Jul 2021 21:03:45 +0000 (+0000) Subject: More work on the intro layout. X-Git-Tag: published-en-nb-2021-07-17~14 X-Git-Url: https://pere.pagekite.me/gitweb/text-mekanikerord.git/commitdiff_plain/dfe7ed085080e28d7ec7db373d901a7433c93842?ds=sidebyside More work on the intro layout. --- diff --git a/Makefile b/Makefile index 9739413..b8e0c27 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,11 @@ GENERATED = \ all: $(GENERATED) +# Make sure new enough version of dblatex with 'se' support is used +checkdblatex: + dpkg --compare-versions 0.3.12 le $$(dblatex --version | awk '{print $$3}') + + clean: $(RM) *~ @@ -39,6 +44,7 @@ DBLATEX_OPTS = \ --indexstyle=myindexstyle.ist \ -V \ -P latex.index.tool=xindy \ + --param=latex.index.language=norwegian \ -p pdf.xsl mekaniker-ordbok-nb.pdf: $(SOURCE_NB) @@ -52,10 +58,9 @@ mekaniker-ordbok-nb.html: $(SOURCE_NB) mv book.html $@ book-se.xml: book.xml -# dblatex do not understand lang="se", use "nn" with workarounds in pdf.xsl - sed -e 's/-nb/-se/' -e 's/"nb"/"nn"/' < $^ >$@ + sed -e 's/-nb/-se/' -e 's/"nb"/"se"/' < $^ >$@ -mekaniker-ordbok-se.pdf: $(SOURCE_SE) +mekaniker-ordbok-se.pdf: checkdblatex $(SOURCE_SE) dblatex $(DBLATEX_OPTS) -o $@ book-se.xml mekaniker-ordbok-se.epub: $(SOURCE_SE) diff --git a/book.xml b/book.xml index 152e364..077a69a 100644 --- a/book.xml +++ b/book.xml @@ -9,20 +9,13 @@ - 2020-09-15 + 2021-07-16 (dette er et utkast) - - - Petter - Reinholdtsen - - - - + Machine-shop practice Engineering @@ -40,91 +33,24 @@ Svein Lund - 2020 + 2021 Petter Reinholdtsen - Redaktør og utgiver: Petter Reinholdtsen. - - 1. utgave - - - - - - - - - - - Creative Commons, noen rettigheter forbeholdt. - - - + + - - Denne boken er gjort tilgjengelig med vilkårene beskrevet i - lisensen Creative Commons Navngivelse 4.0 Internasjonal (CC-BY - 4.0). For mer informasjon, besøk - . - + Dewey 621.74 - - Boka er basert på en Filemaker Pro-database med grunnlagsdata fra - ordinnsamling og terminologiarbeid som blei gjort i første - halvdel av 1990- tallet. Dette arbeidet blei organisert fra - Samisk videregående skole og reindriftsskole og finansiert av - denne skolen, samt Samisk utdanningsråd, Nordisk kulturråd og - Letterstedtska föreningen. Databasen blei brukt til å lage - ordboka «Mekanihkkársánit : Mekanikerord = Mekaanisen alan - sanasto = Mechanic's words» (ISBN 8279540423) gitt ut i 1999 av - Samisk utdanningsråd. Redaktør for databasen og boka var Svein - Lund, andre bidragsytere var Aimo Aikio, Lars Erik Bønå, Nils - Øivind Helander, Klemet I. Hætta, Nils Morten Hætta, Biret - Kallio, Øyvind Moeng, Rolf Olsen, Aage Olsen, Anders Oskal, - Inger-marie Oskal, Arne Johan Turi, Mai Britt Utsi, Niilo - Vuomajoki og Per Aarseth. Sametinget og Svein Lund gitt - tillatelse til at Petter Reinholdtsen kan gi ut materialet med - Creative Commons-lisensen CC-BY 4.0. - + - Kildefilene for boken er tilgjengelig som et git-depot fra - . Hvis du finner feil og - mangler, så setter vi pris på beskjed om dette slik at det kan - forbedres til neste utgave. + - - - - - - Dewey 621.74 - - - Boken inneholder rundt 1200 oppslagsord med forklaring og - tilsvarende ord på andre språk. - - - Ordlisten har individuelle oppslagsord, oversettelser og - forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås - opp i registeret for å finne aktuelt oppslagsord. - - - - Ordene på ulike språk er markert med språkkoder i tråd med ISO-639-1: - - (en) Engelsk - (nb) Norsk bokmål - (se) Nordsamisk - (se) Svensk - (fi) Finsk - - + diff --git a/bookinfo-en.xml b/bookinfo-en.xml index 3db35ce..ca89f63 100644 --- a/bookinfo-en.xml +++ b/bookinfo-en.xml @@ -2,9 +2,71 @@ Mechanic's words in five languages English, Norwegian, North Saami, Swedish and Finnish + + Editor and publisher: Petter Reinholdtsen. + + 1. edition + + + + + + + + + + + Creative Commons, some rights reserved. + + + + + - ISBN 978-82-93828-05-1 (hardcover) - ISBN 978-82-93828-06-8 (softcover) - ISBN 978-82-93828-07-5 (epub) + + This book is published according to the terms of + Creative Commons Navngivelse 4.0 Internasjonal (CC-BY 4.0), see + . + + + + This book is based on a database with source date from words and + terms collected in the first half of 1990, organized and funded + by Samisk videregående skole og reindriftsskole, with Svein Lund + as editor in cooperation with others. The same database was the + source of the book «Mekanihkkársánit : Mekanikerord = Mekaanisen + alan sanasto = Mechanic's words» (ISBN 82-7954-042-3, 1999). + Sámi Parliament of Norway and Svein Lund has permitted Petter + Reinholdtsen to publish the material with an Creative Commons + license CC-BY 4.0. + + + + Please let us know if you find any errors or omissions. + + + + + ISBN 978-82-93828-05-1 (hard), 978-82-93828-06-8 (soft), + 978-82-93828-07-5 (epub). + + + + + Boken inneholder rundt 1200 oppslagsord med forklaring og + tilsvarende ord på andre språk. + + + Ordlisten har individuelle oppslagsord, oversettelser og + forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås + opp i registeret for å finne aktuelt oppslagsord. + + + + Ordene på ulike språk er markert med språkkoder i tråd med + ISO-639-1: (en) Engelsk, (nb) Norsk bokmål, (se) Nordsamisk, (se) + Svensk og (fi) Finsk. + + diff --git a/bookinfo-nb.xml b/bookinfo-nb.xml index ec43ccf..7a547e9 100644 --- a/bookinfo-nb.xml +++ b/bookinfo-nb.xml @@ -2,9 +2,70 @@ Mekanikerord på fem språk Norsk, engelsk, nordsamisk, svensk og finsk + + Redaktør og utgiver: Petter Reinholdtsen. + + 1. utgave + + + + + + + + + + + Creative Commons, noen rettigheter forbeholdt. + + + + - ISBN 978-82-93828-05-1 (innbundet) - ISBN 978-82-93828-06-8 (heftet) - ISBN 978-82-93828-07-5 (epub) + + Denne boken er publisert med vilkårene til + Creative Commons Navngivelse 4.0 Internasjonal (CC-BY 4.0), se + . + + + + Denne boken er basert på en database med grunnlagsdata fra + ordinnsamling og terminologiarbeid som ble gjort i første + halvdel av 1990-tallet, ble organisert og finansiert fra Samisk + videregående skole og reindriftsskole, med Svein Lund som + redaktør og i samarbeid med flere. Databasen var kilden til + ordboka «Mekanihkkársánit : Mekanikerord = Mekaanisen alan + sanasto = Mechanic's words» (ISBN 82-7954-042-3, 1999). Sametinget + og Svein Lund gitt tillatelse til at Petter Reinholdtsen kan gi + ut materialet med Creative Commons-lisensen CC-BY 4.0. + + + + Hvis du finner feil og mangler, så setter vi pris på beskjed. + + + + + ISBN 978-82-93828-05-1 (innb.), 978-82-93828-06-8 + (heftet) og 978-82-93828-07-5 (epub). + + + + Boken inneholder rundt 1200 oppslagsord med forklaring og + tilsvarende ord på andre språk. + + + Ordlisten har individuelle oppslagsord, oversettelser og + forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås + opp i registeret for å finne aktuelt oppslagsord. + + + + Ordene på ulike språk er markert med språkkoder i tråd med + ISO-639-1: (en) Engelsk, (nb) Norsk bokmål, (se) Nordsamisk, (se) + Svensk og (fi) Finsk. + + diff --git a/bookinfo-se.xml b/bookinfo-se.xml index 0ce26e3..02309d0 100644 --- a/bookinfo-se.xml +++ b/bookinfo-se.xml @@ -2,9 +2,73 @@ Mekanihkkársánit på fem språk Nordsamisk, norsk, engelsk, svensk og finsk + + Redaktør og utgiver: Petter Reinholdtsen. + + 1. utgave + + + + + + + + + + + Creative Commons, noen rettigheter forbeholdt. + + + + - ISBN 978-82-93828-02-0 (innbundet) - ISBN 978-82-93828-03-7 (heftet) - ISBN 978-82-93828-04-4 (epub) + + Denne boken er publisert med vilkårene til + Creative Commons Navngivelse 4.0 Internasjonal (CC-BY 4.0), se + . + + + + Boken er basert på en database med grunnlagsdata fra + ordinnsamling og terminologiarbeid som ble gjort i første + halvdel av 1990-tallet, ble organisert og finansiert fra Samisk + videregående skole og reindriftsskole, med Svein Lund som + redaktør og i samarbeid med flere. Databasen var kilden til + ordboka «Mekanihkkársánit : Mekanikerord = Mekaanisen alan + sanasto = Mechanic's words» (ISBN 82-7954-042-3, 1999). Sametinget + og Svein Lund gitt tillatelse til at Petter Reinholdtsen kan gi + ut materialet med Creative Commons-lisensen CC-BY 4.0. + + + + Hvis du finner feil og mangler, så setter vi pris på beskjed. + + + + + + + ISBN 978-82-93828-02-0 (innb.), 978-82-93828-03-7 + (heftet) og 978-82-93828-04-4 (epub). + + + + Boken inneholder rundt 1200 oppslagsord med forklaring og + tilsvarende ord på andre språk. + + + Ordlisten har individuelle oppslagsord, oversettelser og + forklaring. I PDF og papirutgave kan alle språkenes ordvalg slås + opp i registeret for å finne aktuelt oppslagsord. + + + + Ordene på ulike språk er markert med språkkoder i tråd med + ISO-639-1: (en) Engelsk, (nb) Norsk bokmål, (se) Nordsamisk, (se) + Svensk og (fi) Finsk. + + + diff --git a/make-glossary b/make-glossary index 32d95d6..6e36003 100755 --- a/make-glossary +++ b/make-glossary @@ -5,6 +5,8 @@ import locale from lxml import etree from lxml.etree import tostring +import json + list_topic = False filemakerxml = 'meksme-utf8.xml' @@ -55,6 +57,10 @@ for row in resultset.getchildren(): index += 1 #print(d) words.append(d) + + with open('meksme-utf8.json', 'w') as f: + json.dump(words, f) + def langsort(lang, e): if lang in e: return locale.strxfrm(e[lang]) @@ -69,6 +75,16 @@ def make_glossary_docbook(lang, desccodes, langcodes, output='glossary.xml'): } ) + def word2id(word): + return word \ + .replace('[', '_') \ + .replace(']', '_') \ + .replace('(', '_') \ + .replace(')', '_') \ + .replace('/', '_') \ + .replace('\'', '_') \ + .replace(' ', '_') + def indexit(entry, wlist, lang=None): for w in wlist.split(","): if "" != w: @@ -76,6 +92,7 @@ def make_glossary_docbook(lang, desccodes, langcodes, output='glossary.xml'): w += "[%s]" % lang entry.append(E.indexterm(E.primary(w))) ids = {} + redirects = {} glossary = E.glossary() for e in sorted(words, key=lambda x: langsort(lang, x)): ldesc = 'desc-%s' % lang @@ -83,18 +100,51 @@ def make_glossary_docbook(lang, desccodes, langcodes, output='glossary.xml'): e['topic'] = topicmap[lang][e['topic']] if lang in e: w = e[lang].split(',') - id = w[0] \ - .replace('[', '_') \ - .replace(']', '_') \ - .replace('(', '_') \ - .replace(')', '_') \ - .replace('/', '_') \ - .replace('\'', '_') \ - .replace(' ', '_') + id = word2id(w[0]) while id in ids: id = id + 'x' ids[id] = True - if ldesc not in e: + + # First handle redirections with not extra info + if -1 != e[lang].find('>') and ldesc not in e: + p = e[lang].split(' > ') + if p[0] in redirects: # Skip if already added + continue + if -1 == p[1].find(','): + if '-' == p[1][-1]: + print("warning: Skipping dangling reference %s -> %s" % + (p[0], p[1])) + else: + seeentry = E.glossentry() + seeentry.append(E.glossterm(p[0])) + id = word2id(p[1]) + seeentry.append(E.glosssee(otherterm=id)) + glossary.append(seeentry) + redirects[p[0]] = id + else: + print("warning: skipping split refererence %s -> %s" % + (p[0], p[1])) + if False: # Not allowed in docbook + seeentry = E.glossentry() + seeentry.append(E.glossterm(p[0])) + for s in p[1].split(','): + s = s.strip().lstrip() + seeentry.append(E.glosssee(otherterm=word2id(s))) + glossary.append(seeentry) + continue + + # Add See also entries pointing to main entry + if 1 < len(w): + for t in w[1:]: + t = t.strip().lstrip() + if t not in redirects: + #print("info: Adding see also entry for %s" % t) + seeentry = E.glossentry() + seeentry.append(E.glossterm(t)) + seeentry.append(E.glosssee(otherterm=id)) + glossary.append(seeentry) + redirects[t] = id + elif ldesc not in e: print("warning: term %s missing primary language %s description" % (e[lang], lang)) entry = E.glossentry(id=id) if list_topic and 'topic' in e: @@ -120,16 +170,6 @@ def make_glossary_docbook(lang, desccodes, langcodes, output='glossary.xml'): e[codestr])))) glossary.append(entry) - # Add See also entries pointing to main entry - if 1 < len(w): - for t in w[1:]: - t = t.strip().lstrip() - #print("info: Adding see also entry for %s" % t) - seeentry = E.glossentry() - seeentry.append(E.glossterm(t)) - seeentry.append(E.glosssee(otherterm=id)) - glossary.append(seeentry) - def glosstermlocale(x): # Look up glossterm (FIXME figure out more robust way) t = x.getchildren()[0].text diff --git a/pdf.xsl b/pdf.xsl index bb75bf4..e3d906a 100644 --- a/pdf.xsl +++ b/pdf.xsl @@ -5,8 +5,8 @@ 1 6in 9in - 0.8in - 0.55in + 0.75in + 0.50in 0.55in 0.55in book @@ -77,7 +77,7 @@ \huge{\textbf{\DBKsubtitle}}\\ % \fi \ \\ % - \huge{Petter Reinholdtsen (red)} \\% +% \huge{\editor} \\% \end{center} \vfill \setlength{\baselineskip}{\oldbaselineskip}