Topic: RTF-Enhacement for Audio-Files

Adamant

Topic Opener
Joined: 2012-10-11, 16:21 UTC+2.0
Posts: 180
Ranking
Widelands-Forum-Junkie
Location: Alemania
Posted at: 2013-12-31, 16:18 UTC+1.0

There was ancient RTF RichTextFormat which allowed lesser plain Text with FontType and FontSize anytime enhanced to support also HTML-inspired Support of PNG-Images to place them inside Text. Btw I think TeX/LaTeX would be a better Source of Inspiration than HTML but here Point is again used HTML as Kind of Template to enhance RTF to support Audio and Video to make Extension for MultiMedia complete. I think there is Need to use for another FileFormatExtension for RichTextFormatMultimedia but that need some more Investigation. InterimsSolution is using Term RTFM to address the MultiMedia-enhanced Derivate while adding PNGs did once make first Step for.

When looking at RTF in WL as is find as primary Ehancement of RTF Introduction of TextFlowBodies. To take quickly the Special Sauce from LaTeX, its a professional TextSetter-SoftWare based on Knowledge of ancient TypeSetting with Letters from Lead, which grouped single Letters of diff Size to Rows and grouped Rows to Areas, same Appraoch gets addressed in LaTeX by Use of Term and Meaning of Box. In Scope of TeX exist does not exist Word or really Letters but Boxes which change quasi Term Symbol by Add of Geometry to have geometric Meaning. In Scope of LaTeX Words are boxed LetterBoxes. For TextFlow-Issues that means you put one Box for Image inside and aside another to utilize free Area, as else TypeSetting would take that Picture-Box as Kind of Super-Giant LetterBox as StartingPoint of a same giant BoxLine and thus would just add some Text at BottomLine of ImageBox efting large Space above empty.

The big Point of Matter above is, aside of asking for TextFlow and other MultiMedia-Support, that addressed Matter is Matter of TypeSetting and well know to supply professional Quality due to Codification of professional KnowLedege of TzpeSetting which Worker have to train for multiple Years to get full educated TypeSetters is free available as OpenSource.

I do not really here talk about RTF but RTF as StartingPoint and Features. That means should somebody who tries to add these Features investigate TeX/LaTeX before to steal its Special Sauce (well, it's OpenSource and IIRC GPL!!) he COULD perhaps find it's much easier to modify existing LaTeX-Source to integrate LaTeX into Game instead Reimplement it to base on RTF and THEN I won't argue to stay on RTF if he think that's much easier and straighter. Just point to Issue that that the better is Enemy of the good and LaTex already got a Successor with IIRC Omicron by Name and therefore guess that Omicron is probably better while I did never before with Omicron due to I got fine with LaTeX but know that often Attempts to make something good fail due to arbitrary Reasons. Won't take Omicron before had verificated it"s really better. When someone starts Investigation about Matter above mz Advice is to first learn working with LaTeX and produce with Documents for won Needs and absolutely fine if you encounter that Way Problems or think that there is something needless complicated to get that Way TODO-itBetter-Item for List. When encountering Language of LaTeX first quick Initiate-Help from Scope of Syntax: there exist Functions and Classes but no Methods (.. so the Classes are perhaps Structures with Set of Functions?) with CoExistence as File and now currious Functions have three different Types of ParameterBrackets which are () {} which does not have from PerSpective of Programmer different Meaning but have indeed diff Meaning due to Convention. That Matter appeared to me first some rather confusing as I did not identify clearlz Existence of such Kind of Convenience and wondered when tried to use them in what Kind of Bracket which Kind of Arguments concerns till figured out it's not about Type but Convention and there exist different Ideas about how that Convention works resp due to Envelopment and Mating Libs got tendential more wired resp there remain always Trouble to make Libs from diff Authors cooperable or at least compatible. Think perhaps Kind of Assembler-Convention to archive InterOperability like known from OOP and wonder that successed at least partially. The really driving Point for me here is to stress that TeX/LaTex did not coporate Knowledge originating from OOP but remain on ProceduralProgramming-Paradigm and IF you want to reimplement I strongly advice to facctor in Issues of OOP in Scope for any Neo-WL-LaTex and keep in Mind that ancient C-Program-SRCs (Procedural) works fine with C++ Compiler aside of Introduction of new KeyWords which changed hypothetical Use of them with other syntactical Meaning (generic Symbols/IDs) inside C-SRC. Ignoring Issue of new KeyWords conflicting with new Features/Syntax of C++ C-Programs at LEvel of Functions, Arrays, Pointers and Structures go fine with ignoring new introduced Classes, Methods, Exceptions and other OOP-Meanings, what does mean with LaTeX as Template/SRC for RTFM do not thinkt adding OOP would make it more difficult to addapt LaTeX-Knowledge but offer Opportunities to make it much easier.

HTML-5.0 as another SRC of Inspiration knows mostly about DATA, haves Syntax of Classes external defined in CSS and due to it does not know about Code JavaScript got Kind of primary HTML-Code STD-Language introducing own Types as well resulting in Kind of Syntax-Confusion. So I don't really point to HTML-Matter for Issues of Implementation but about Features as plain LaTeX does even not know about Colors but Base is B/W even AddOn exist (pdf-latex) which adapt that cool Feature ... on Top of LaTex. RTF adds just MarkUp for Matterrs of Font and Color and Text-Attributes like understroke or bold Text.

If look at Syntaxes of HTML, LaTeX and perhaps JavaScrip (the latter is C-like) I advice to consider a C++-like Syntax for WL-TextMarkUpLanguage perhaps with Adaption from LaTeX about different Kind of ArgumentBrackets but for real that's totally unnecessary due to you have to keep that just in Mind when investigating C++ Feature to overload Functions and inparticular Operators and generalize Use of the BracketTypes in C++ to let behave and {} same like () which can take arbitrary Combinations of arbitrary ArgumentTypes while {} is not alloweed in special Cases eg to define Body for Functions and Classes and is just allowed to take a single IntegerType with Aim for Index. anyTypeStorageType is not allowed from SyntaxSpec of C++ while foo(same,"issue") is allowed. Simplified argumented, think about Symbols and logical Meaning and it does not matter logically if is Symbol is a Bracket or a Letter (while semantic Meaning gets affected for sure) and if you made Code for Parenthesis you can use quasi same Code also for other Type of Brackets eg thinking of QuotationMarks as another Type of Bracket. Btw the German QMarks are unique to indicate if Bracket opens or closes. Due to UTF-8 no Reason to ignore Specials from other Languages like Spain head-standing Marks for Excalamation and InterRogation.

When thinking Mixture of intrepreted WLPML with C++-like Syntax and Support for HTML5-Features plain Use of RTFM resp for PNG Example of Use could lok like that:

#import "Terminology_Barbarians" ;
Class WareHelp extends GenericDocument {
Tribe oTribe;
String oName; // warename
String oNames; // plural
FontClass fontClass_normal = WidelandsCurrier;
FontSize fontSize_normal = 11pt;
Color fontColor_normal = WL_BLUE;
Pen pen_normal = new Pen (FontClass_normal)

WareHelp (Tribe aTribe, String aName) {
Tribe oTribe=aTribe;
Word oName=aName;
Word oNames= en.regular_plural(oName);
Text oBody=aBody;
}
void print_warehelp(RenderTarget rt) {rt.pen(pen_normal); rt.type(oBody);}
}
...
// Utlization
WareHelp stone_help = new WareHelp(barbarian, "stone");
stone_help.body={ "%oName are totally important for %oTribe! You can roll them throw them."; }


// alternative Use of Syntax:

WareHelp foo = new WareHelp (barbarian, "foo").body={"%oNames are useless Items of Barbarians."}

And last Item is mainly that Translators have to deal with. while left Space for logical and semantical Definition how to render the Text onto RenderTarget which could eg Kind of Box used from another TextCodeSection as BOX like explained above and used with static Content and Geometry but same like a single Letter. So gets easy to arrange rational visual Content with Respect for TypeSetter's Art to set Text looking fine on arbitrary RenderTargets resp PrintMedia.

Sure you may wow wow wow what an Amount of ImplementationWork - Donald E. Knuth did once give Kind of that Lession to some of his Students and asked some Month later how did they made and encountered a large Amount of Problems partially due to missing Specification what do exactly and investigasted and supported that Work and Result was first Version of TeX from other enhanced by DocumentClasses and AuxillaryMeanings for w good TypesSetting of Texts also nowadays Standard for scientific Publications.

Resume is ask just for some minor Enhancements of RTF to RTFM, with FlowText, Support for Videos and Sounds - and perhaps new TextMarkUpProgammingLanguage - that's all.

Could enhance Work of Translators to cover also TypeSetting resp Desinger of TextLayOut.
I guess Idea to deal with programaitc Matters could let Translators first Time scare them while
same Time do fancy Programming with SpreadSheets and DataBases no Idea that that is
Programming as well or do at least some Text-Processor-Macros with same BackGround.
Would again advice to start first with LaTeX to learn do TextWriting in another Way than
Word and their first Experience with Text is broken due to a missing Semicolon and how
to fix it and next utilizes Features of LaTeX to define AuxMeanings to simplify their Work
by new Environments (eg Quotation is special Environment which defines how it looks
like a while using it means just to say next is Quotation and what the quote is) and Commands.
Encironments are quasi paired Commands to describe what to do when open and close
specific Environment while Command is Kind of SingleAction. FYI IMO you can have
reasonabled Opinion without had dealed with something like LaTeX and even if you feel
much more comfortable with WYSIWYG (what-you-see-is-what-you-get) TextProcessors \
like Word LaTeX is Representant of WYSIWYM (what-you-see-is-what-you-mean) TProcs
what mens you normally don't care about how it looks like while writing with normal TextEditor
but write this a Title and that a SourceReference and that a Quatation etc and know that it will
look alright satisffying Needs of professional TypeSetting as that Knowlede got codified into
Libs and appleid to determine how the Text gets formated. You can not change from one first
Time to the other like from LaTeX to Word without have to have a LearningCurve but when
zou would have ever to write a Book with Referneces, FootNotes, TableOfContent, Inxed etc
with Need that these are alrigtht, adding few Words does not damage manual defined FootNote
but FootNote keeps always on that Page where it belongs, Index and Tables etc point to right
Page, then you would start hating Word extremely as it causes you hundred Times more Need
to update these Things manually while LaTeX does that all reliable and at best just a single Time
after completing Contents. To view Product it can supply diff OutPutFormats like HTML and PDF
or TrueScript/GhostCrypt also from same Source and when changing from DIN-A4 to DIN-A5 it
does just take another TextProcessor Invocation and Product is normally fine reformated.

If you work on Dissitation note it's probably to late to introduce new Risks from changing the
ImplementationMeaning of Work and drop Word for LaTex but if you know you have 1-2 Year
Space before DeadLine congratulation, as you can safely check out if you can solve with
your Matters (and growing Needs for VisualizationMeanings as there exist Libs for and everytinh
what can get printed like Mathmatical Treatments, chemical, physiacal, musical, etc) but you
need Time to learn Syntax of LaTeX, it's basic LanguageFeatures, generic Libs, how use other
Libs, to use them especially (may have their own Idea how Things work), figure out if these
Libs can do what you need to have. Noting that you can write your own Libs is correct but
same is true for Kind of own Word/like Processor to write your Dissitation and therefore just
partially more correct than for Write OpenOffice a new AddOn.

HowEver would (let) teach Using LaTeX/Omicron in Studia in Semester between inclusive 1st till 4th to give Knowledge of Meaning to do smartly its TypeSetting as writing 100 Pages with Words and age for Decade due to in the Middle of Time you need to add before another Capital or rewrite a Sectoin and thus all Matters changes for Page and you feel to have start from Point 1 to arrange the added Items like FootNotes for all Content behind and verify Index-Entries if they point correctly. Critical Hit of TimeSchedule. Sure you can optimye your Write-Methodic to factor in these Problems but you can not solve them that Way reliable.

So you may refuse Sense for using LaTeX-Tec for WL-Text-Contents but for sure you shoul learn LaTeX if you know you have to have anytime write a Dissitation before you face the deadly DeadLine and don't feel set on a ild Horse in a Desert and can just survive when learn how to ride the Horse while Horse Word is known to run the more amok the more you did (w)ride it. Riders could think Horse arrived while they self left on Track.

ADM


Ivan the Terrible is dead .. Genghis Khan is dead .. and I do not feel well, too.

Top Quote
Adamant

Topic Opener
Joined: 2012-10-11, 16:21 UTC+2.0
Posts: 180
Ranking
Widelands-Forum-Junkie
Location: Alemania
Posted at: 2013-12-31, 16:29 UTC+1.0

add: When you do any DissitationWork with Word, please make another BackUp from Work, make Room totally dark and selct Page that contains many manual drawn Figures with geometric Content and many Colors to make it totally clear what it means, change between ViewMode PrintView and OnlineView and look at the Display ... that was what I saw about 5min before go tired to Bed to sleep 5h (more then Days before) and thus send Work next Morning into PostBox to respect DeadLine. Well.. after Weeks of Pain that was Kind of deadly, I refused to do anything else for long Time to do anything resp got transpirativ about thinkging learning for a Test and that like. Figured out Kind of traumatic Experience ... however, got the Ball into Basket but Hell that I don't want to experience a second Time. Matter was I changed from OnlineView to PrintView and was not able to insert OnlineView into PBox. (well, you have to view the CDRom instead)

Edited: 2013-12-31, 16:32 UTC+1.0

Ivan the Terrible is dead .. Genghis Khan is dead .. and I do not feel well, too.

Top Quote