fontspec breaks capital greek letters in DeclareMathOperator












5















Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?










share|improve this question

























  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    20 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    19 hours ago


















5















Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?










share|improve this question

























  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    20 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    19 hours ago
















5












5








5


1






Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?










share|improve this question
















Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?







math-mode xetex amsmath fontspec greek






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited yesterday









Sebastiano

10.4k42060




10.4k42060










asked yesterday









red_trumpetred_trumpet

20629




20629













  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    20 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    19 hours ago





















  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    20 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    19 hours ago



















Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

– phg
20 hours ago







Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

– phg
20 hours ago















Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

– red_trumpet
19 hours ago







Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

– red_trumpet
19 hours ago












2 Answers
2






active

oldest

votes


















7














DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



You could either load fontspec with the [no-math] option, or use the real glyph:



documentclass{article}
usepackage{amsmath}
usepackage{fontspec}

DeclareMathOperator{exterior}{Λ}
begin{document}


begin{align*}
exterior^k V\
Lambda^k V
end{align*}
end{document}


enter image description here






share|improve this answer
























  • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

    – red_trumpet
    yesterday











  • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

    – Ulrike Fischer
    yesterday






  • 1





    @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

    – Davislor
    20 hours ago








  • 1





    @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

    – Davislor
    20 hours ago








  • 1





    @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

    – Davislor
    20 hours ago



















5














The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



You can avoid it with a trick:



documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

DeclareMathOperator{exterior}{opgreek{Lambda}}

begin{document}

begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


enter image description here



Otherwise



newcommand{exterior}{mathop{kern0ptLambda}}





share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "85"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f477662%2ffontspec-breaks-capital-greek-letters-in-declaremathoperator%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    7














    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here






    share|improve this answer
























    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      yesterday











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      yesterday






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      20 hours ago
















    7














    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here






    share|improve this answer
























    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      yesterday











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      yesterday






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      20 hours ago














    7












    7








    7







    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here






    share|improve this answer













    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered yesterday









    Ulrike FischerUlrike Fischer

    194k8302688




    194k8302688













    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      yesterday











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      yesterday






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      20 hours ago



















    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      yesterday











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      yesterday






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      20 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      20 hours ago

















    Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

    – red_trumpet
    yesterday





    Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

    – red_trumpet
    yesterday













    unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

    – Ulrike Fischer
    yesterday





    unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

    – Ulrike Fischer
    yesterday




    1




    1





    @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

    – Davislor
    20 hours ago







    @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

    – Davislor
    20 hours ago






    1




    1





    @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

    – Davislor
    20 hours ago







    @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

    – Davislor
    20 hours ago






    1




    1





    @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

    – Davislor
    20 hours ago





    @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

    – Davislor
    20 hours ago











    5














    The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



    You can avoid it with a trick:



    documentclass{article}

    usepackage{fontspec}
    usepackage{amsmath}

    newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

    DeclareMathOperator{exterior}{opgreek{Lambda}}

    begin{document}

    begin{align*}
    exterior^k V \
    Lambda^k V
    end{align*}
    end{document}


    enter image description here



    Otherwise



    newcommand{exterior}{mathop{kern0ptLambda}}





    share|improve this answer




























      5














      The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



      You can avoid it with a trick:



      documentclass{article}

      usepackage{fontspec}
      usepackage{amsmath}

      newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

      DeclareMathOperator{exterior}{opgreek{Lambda}}

      begin{document}

      begin{align*}
      exterior^k V \
      Lambda^k V
      end{align*}
      end{document}


      enter image description here



      Otherwise



      newcommand{exterior}{mathop{kern0ptLambda}}





      share|improve this answer


























        5












        5








        5







        The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



        You can avoid it with a trick:



        documentclass{article}

        usepackage{fontspec}
        usepackage{amsmath}

        newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

        DeclareMathOperator{exterior}{opgreek{Lambda}}

        begin{document}

        begin{align*}
        exterior^k V \
        Lambda^k V
        end{align*}
        end{document}


        enter image description here



        Otherwise



        newcommand{exterior}{mathop{kern0ptLambda}}





        share|improve this answer













        The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



        You can avoid it with a trick:



        documentclass{article}

        usepackage{fontspec}
        usepackage{amsmath}

        newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

        DeclareMathOperator{exterior}{opgreek{Lambda}}

        begin{document}

        begin{align*}
        exterior^k V \
        Lambda^k V
        end{align*}
        end{document}


        enter image description here



        Otherwise



        newcommand{exterior}{mathop{kern0ptLambda}}






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered yesterday









        egregegreg

        724k8819173222




        724k8819173222






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f477662%2ffontspec-breaks-capital-greek-letters-in-declaremathoperator%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to label and detect the document text images

            Vallis Paradisi

            Tabula Rosettana